Visual Studio 2017 15.5 版-Preview 版本資訊Visual Studio 2017 version 15.5 - Preview Release Notes


開發人員社群 | 系統需求 | 相容性 | 可散發程式碼 | 授權條款 | 部落格 | 已知問題Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Known Issues



注意

這不是 Visual Studio 的最新版本。This is not the latest version of Visual Studio. 若要查看 Visual Studio 2019 最新版本的資訊,請瀏覽目前的版本資訊 (機器翻譯) 頁面。To see information on the latest version, Visual Studio 2019, please visit the current Release Notes page.


在本文中,您將找到 Visual Studio 2017 15.5 版之預覽版本的相關資訊。In this article, you will find information regarding the Preview releases for Visual Studio 2017 version 15.5.

注意

此版本未正式運作,而不適用於實際執行電腦,或建立實際執行程式碼。This release is not "go-live" and not intended for use on production computers or for creating production code.

意見反應與建議Feedback & Suggestions

請提供您的意見!We’d love to hear from you! 若有任何問題,請透過安裝程式或 Visual Studio IDE 本身右上角的回報問題選項來通知我們。For issues, let us know via the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. 必須提供The Feedback Icon 圖示位在右上角。icon is located in the upper right-hand corner. 您可以在 Visual Studio 開發人員社群 (英文) 追蹤您的問題,也可以在那裡詢問問題和尋找解答。You can track your issues in the Visual Studio Developer Community, where you can ask questions and find answers. 我們的 即時聊天支援our Live Chat support.

提示

需要立即的專業人員支援?Need professional support right now? 請查看可用的支援選項See available support options.

發行記錄Release History

  • [2017 年11月14日](#15.5.0 Preview 4) --Visual Studio 15.5 版 Preview 4[November 14, 2017](#15.5.0 Preview 4) -- Visual Studio version 15.5 Preview 4
  • [2017 年11月 6](#15.5.0 Preview 3) 日--Visual Studio 15.5 版 Preview 3[November 6, 2017](#15.5.0 Preview 3) -- Visual Studio version 15.5 Preview 3
  • [2017 年10月 23](#15.5.0 Preview 2) 日--Visual Studio 2017 版 15.5 preview 2-- 閱讀 preview 2 的 blog 文章![October 23, 2017](#15.5.0 Preview 2) -- Visual Studio 2017 version 15.5 Preview 2 -- Read the Preview 2 blog post!
  • [2017 年10月 11](#15.5.0 Preview 1) 日--Visual Studio 2017 版 15.5 preview 1-- 閱讀 preview 1 的 blog 文章![October 11, 2017](#15.5.0 Preview 1) -- Visual Studio 2017 version 15.5 Preview 1 -- Read the Preview 1 blog post!

提示

您可以在 Visual Studio 2017 發行節奏文件中深入了解版本發佈的方式以及如何識別不同的版本。You can learn more about how we ship our releases and how to identify different versions in the Visual Studio 2017 Release Rhythm document.

已知問題Known Issues

請參閱已知問題一節。Please refer to the Known Issues section.


發行日期:2017年11月14日-Visual Studio 2017 15.5.0 版 Preview 4Release Date: November 14, 2017 - Visual Studio 2017 version 15.5.0 Preview 4

本版更新摘要Summary of Updates in this Release


本版修正的前幾個主要問題Top Issues Fixed in this Release

這些是在此版本中解決的客戶回報問題:These are the customer-reported issues addressed in this release:


本版新功能What's New in this Release

.NET Core 與 ASP.NET Core 資訊安全諮詢 .NET Core and ASP.NET Core Security Advisories

Microsoft 已發行 .NET Core 與 ASP.NET Core 的資訊安全諮詢。Microsoft has released security advisories for .NET Core and ASP.NET Core. 您可以在 .NET CoreASP.NET Core 存放庫的對應公告中找到詳細資料。Details can be found in corresponding announcements in the .NET Core and ASP.NET Core repos. 請注意下列資訊:Please note the following information:

  • CVE-2017-8585 格式錯誤的憑證會導致服務阻斷:這是 .NET Core 1.0、1.1 與 2.0 的資訊安全漏洞,格式錯誤的憑證或其他 ASN.1 的格式化資料在 Linux 及 macOS 上會因為無限迴圈引發服務阻斷。CVE-2017-8585 Malformed Certificate can cause Denial of Service: There is a security vulnerability in .NET Core 1.0, 1.1 and 2.0 where a malformed certificate or other ASN.1 formatted data could lead to a denial of service via an infinite loop on Linux and macOS. 建議系統管理員將 .NET Core 執行階段的版本更新到 1.0.8、1.1.5 及 2.0.1。System administrators are advised to update their .NET Core runtimes to versions 1.0.8, 1.1.5 and 2.0.1. 建議開發人員將 .NET Core SDK 的版本更新到 2.0.3 或 1.1.5。Developers are advised to update their .NET Core SDK to version 2.0.3 or 1.1.5.

  • CVE-2017-8700 略過 CORS 可能會洩漏資訊:這是 ASP.NET Core 1.0 與 1.1 的資訊安全漏洞,在其中可略過跨原始資源共用 (CORS),而導致資訊洩漏。CVE-2017-8700 CORS bypass can enable Information Disclosure: There is a security vulnerability in ASP.NET Core 1.0 and 1.1 where Cross-Origin Resource Sharing (CORS) can be bypassed, leading to information disclosure.

  • CVE-2017-11879 開啟重新導向可能會導致提高權限:這是 ASP.NET Core 2.0 的資訊安全漏洞,當 Open Redirect 存在時,會導致權限提高。CVE-2017-11879 Open Redirect can cause Elevation Of Privilege: There is a security vulnerability in ASP.NET Core 2.0 where an Open Redirect exists, leading to Elevation Of Privilege.

  • CVE-2017-11770 拒絕服務弱點:這是 ASP.NET Core 1.0、1.1 及 2.0 的資訊安全漏洞,當應用程式透過 Windows Http.Sys 裝載時,格式錯誤的要求可能會導致拒絕服務。CVE-2017-11770 Denial Of Service Vulnerability: There is a security vulnerability in ASP.NET Core 1.0, 1.1 and 2.0 when the application is hosted through Windows Http.Sys where a malformed request can lead to a Denial Of Service.

以 ASP.NET Core 1.0、ASP.NET Core 1.1 及 ASP.NET Core 2.0 建立的專案現在會使用包含上述安全性更新的套件版本。New projects created with ASP.NET Core 1.0, ASP.NET Core 1.1 and ASP.NET Core 2.0 will now use package versions that include the above security updates. 若為現有的專案,使用者可以使用 [管理 NuGet 套件] 對話方塊將其套件更新為較新版本。For existing projects, users can update their packages to newer versions using the Manage NuGet Packages dialog.

Visual C++ 改進 Visual C++ Improvements

您現在能夠透過 [檔案] > [開啟] > [CMake],匯入現有的 CMake 專案及快取組態至 IDE。You now have the ability to import existing CMake projects and cache configurations into the IDE via File > Open > CMake.

MSVC 編譯器工具MSVC Compiler Toolset

在 Visual Studio 2017 15.5 中,Build Tools 中的 MSVC 編譯器工具組已更新至 14.12 版,與 15.4 版的 14.11 工具組相容。In Visual Studio 2017 15.5, the MSVC compiler toolset in Build Tools has been updated to version to 14.12, which is compatible with the 15.4 version 14.11 toolset. 如果您在升級至 Visual Studio 2017 15.5 Preview 4 之後遇到編譯器代碼的問題,您可以強制安裝14.11 工具組與14.12 工具組並存。In the event that you encounter an issue compiling your code after upgrading to Visual Studio 2017 15.5 Preview 4, you can force installation of the 14.11 toolset side-by-side with the 14.12 toolset. 安裝 C++ 桌面工作負載之後,您可在 [個別元件] 索引標籤下選取 Visual Studio 2017 15.4 工具組 (14.11)。The Visual Studio 2017 15.4 toolset (14.11) can be selected under the Individual Components tab, after installing the C++ Desktop workload.

C # 編譯器的新功能 What's New in the C# Compiler

C# 編譯器現在支援 7.2 的語言功能集,包括:The C# compiler now supports the 7.2 set of language features including:

  • 透過 ref struct 修飾詞用在整個 Kestrel 和 CoreFX 的 Span<T> 類型支援。Support for the Span<T> type being used throughout Kestrel and CoreFX via the ref struct modifier.
  • readonly struct 修飾詞:強制將結構的所有成員執行為 readonlyreadonly struct modifier: Enforces that all members of a struct are readonly. 這會新增程式碼正確性的圖層,並讓編譯器在存取成員時避免複製不必要的值。This adds a layer of correctness to code and also allows the compiler to avoid unnecessary copying of values when accessing members.
  • in parameters/傳回 ref readonly :允許安全地傳遞和傳回未修改的結構,其效率與 modifable ref 值相同。in parameters / ref readonly returns: Allows for unmodifiable structs to be safely passed and returned with the same efficiency as modifable ref values.
  • private protected 存取修飾詞:限制存取 protectedinternal 的交集。private protected access modifier: Restricts access to the intersection of protected and internal.
  • 非後置具名引數:具名引數現在可以用在引數清單的中間,也不需要下列所有引數都依名稱傳遞。Non-trailing named arguments: Named arguments can now be used in the middle of an argument list without the requirement that all following arguments are passed by name as well.

F# 工具改進 F# Tooling Improvements

在 Visual Studio 2017 15.5 Preview 4 版中,我們以 F # 工具支援 .NET Core SDK 專案為目標。In the Visual Studio 2017 15.5 Preview 4 release, we targeted F# tooling support for .NET Core SDK projects. 現在支援下列項目:The following are now supported:

  • 您可以從 [檔案] > [新增專案],建立新的 .NET Core 主控台應用程式、.NET Standard 程式庫和 .NET Core 單元測試專案。You can create new .NET Core console apps, .NET Standard libraries, and .NET Core unit test projects from File > New Project.
  • 我們已新增對現有 .NET Core 和.NET Standard 專案的支援。We added support for existing .NET Core and .NET Standard projects.
  • 我們為以 .NET Framework 版本為目標的現有 .NET Core SDK 專案新增了支援。We added suport for existing .NET Core SDK projects that target a .NET Framework version.
  • 所有目前的 IDE 功能 (重新命名、移至定義等 ) 都受到支援。All current IDE features (rename, Go to Definition, etc.) are supported.
  • 支援專案對專案參考。Project-to-project references are supported.
  • 我們已新增對 Web SDK 專案的支援 (例如,F# ASP.NET Core 專案或使用 Giraffe 範本的專案)。We added support for Web SDK projects (e.g., F# ASP.NET Core projects or a project using the Giraffe template).
  • 您現在可以滑鼠右鍵按一下 Web SDK 專案的發行工具。You can now right-click Publish tooling with Web SDK projects.
  • 支援自動產生 CI/CD 管線與 Visual Studio Team Services 工具。Autogenerating a CI/CD pipeline with Visual Studio Team Services tooling is supported.

請列出您在 GitHub 存放庫中發現的任何問題。Please file any issues you find on our GitHub repository.

Visual Studio Web 工具 Visual Studio Web Tools

  • Razor 語法格式已改善。Razor syntax formatting has been improved.
  • 我們已改善將 ASP.NET 應用程式發佈至 Azure 虛擬機器的體驗。We improved the experience for publishing ASP.NET applications to Azure Virtual Machines.

Docker 容器工具 Docker Container Tooling

  • 適用於 Docker 容器的 Visual Studio 工具現在支援多階段 Dockerfile,以簡化最佳化容器映像的建立流程。Visual Studio's tools for Docker containers now support multi-stage Dockerfiles, to streamline the creation of optimized container images.
  • 如果您是在執行 Windows 10 1709 版或 Windows Server 1709 版的機器上執行 Visual Studio,您的容器映像預設會使用 Windows Server 1709 版。If you are running Visual Studio on a machine running Windows 10 version 1709 or Windows Server version 1709, your container images will utilize Windows Server version 1709 by default. 編輯 Dockerfile 即可變更此項目。You can change this by editing the Dockerfile. 請注意,使用舊版 Windows 的容器映像只會在 HYPER-V 隔離模式中執行 Windows 10 1709 版與 Windows Server 1709 版。Please note that container images that utilize older versions of Windows will only run on Windows 10 version 1709 and Windows Server version 1709 in Hyper-V isolation mode. 如需詳細資料,請參閱 Windows 容器版本相容性頁面。For more details, please see Windows Container Version Compatibility page.
  • 根據預設,當您開啟具有 Docker 支援的專案時,Visual Studio 會自動在背景提取、建置及執行執行必要的容器映像。By default, Visual Studio will automatically pull, build, and run the necessary container images in the background when you open a project that has Docker support. 您可以在 Visual Studio 中透過 [自動在背景中啟動容器] 設定停用此選項。You can disable this via the Automatically start containers in background setting in Visual Studio.

發行日期:2017年11月6日-Visual Studio 2017 15.5.0 版 Preview 3Release Date: November 6, 2017 - Visual Studio 2017 version 15.5.0 Preview 3

本版更新摘要Summary of Updates in this Release

本版修正的前幾個主要問題Top Issues Fixed in this Release

本版新功能What's New in this Release

Visual C++ 改進 Visual C++ Improvements

增強功能的內建支援。測試架構Built-in Support for Boost.Test Framework

撰寫、探索及執行您的提升。測試 Visual Studio 中的單元測試。Write, discover, and run your Boost.Test unit tests in Visual Studio. 根據預設,Test Explorer 現在支援提升. 測試架構。By default, the Test Explorer now supports the Boost.Test framework. 如果您要從先前的 Visual Studio 安裝進行升級,則必須在 Visual Studio 安裝程式中新增元件。If you are upgrading from a previous Visual Studio installation, you'll need to add the component in the Visual Studio Installer. 如需詳細資訊,請參閱 測試介面卡以進行提升。測試會提供隨用 的 blog 文章。For more information please refer to the Test Adapter for Boost.Test goes in-box blog post.

內嵌來源與內嵌 PDB 支援 Embedded Source and Embedded PDB Support

使用內嵌來源,Visual Studio 偵錯工具現在可以直接從 .pdb 檔案擷取 Managed 二進位檔的原始程式檔。With Embedded Source, the Visual Studio Debugger can now retrieve source files for managed binaries directly from the .pdb file. 結合使用內嵌來源與內嵌 PDB,以建立完全獨立的 debuggle .dll。Combine using Embedded Source with Embedded PDB to create fully standalone debuggle .dlls. 深入了解使用 /embed 編譯器參數。Learn more about using the /embed compiler switch.

您現在也可以在使用內嵌 PDB 進行建置時,使用Managed 程式碼的 [編輯後繼續] 偵錯。You can also now debug using Edit and Continue for managed code when building with Embedded PDBs.


發行日期:2017年10月23日-Visual Studio 2017 15.5.0 版 Preview 2Release Date: October 23, 2017 - Visual Studio 2017 version 15.5.0 Preview 2

本版更新摘要Summary of Updates in this Release

本版修正的前幾個主要問題Top Issues Fixed in this Release

本版新功能What's New in this Release

我們已更新 [錯誤] 對話方塊,顯示詳細資訊以利解決使用 Visual Studio 開發人員社群可能解決方案的安裝問題。We've updated the error dialog to display more information to help solve installation problems using potential solutions from the Visual Studio Developer Community. (圖 1)。(Figure 1).

New installer error dialog box
(圖 1) 新安裝程式錯誤對話方塊(Figure 1) New installer error dialog box

Visual C++ 改進 Visual C++ Improvements

已新增有關 C++17 標準的標準範本庫改善:We added these improvements to the Standard Template Library regarding the C++17 standard:

  • not_fn ( # A1: P0005R4 取代 not1 和 not2。not_fn() : P0005R4 is replacement of not1 and not2.
  • 改寫 enable_shared_from_this: P0033R1 重新啟用 shared_from_this。Rewording enable_shared_from_this: P0033R1 Re-enabling shared_from_this.
  • 取代不必要的程式庫組件:P0174R2Deprecating Vestigial Library Parts: P0174R2. 歷年新增已超過 C++ 標準程式庫的功能數,或者我們尚未了解它們的真正以及預期的用途。A number of features of the C++ Standard library have been surpassed by additions over the years, or we have learned do not serve their intended purpose as well as originally expected. 這份文件建議取代的功能,能提供更好、更簡單或更清楚的選項。This paper proposed deprecating features where better, simpler, or clearer options are available.
  • 移除 std:: function: P0302R1中的配置器支援。Removing Allocator Support In std::function: P0302R1. 類別範本 std::function 有數個建構函式接受配置器引數,但是語意不清楚,而且有在已清除類型內容中儲存配置器,然後又在複製作業期間為所需的任何配置修復該配置器的技術問題。The class template std::function has several constructors that take an allocator argument, but the semantics are unclear, and there are technical issues with storing an allocator in a type-erased context and then recovering that allocator later for any allocations needed during copy assignment. 這些建構函式應該移除。Those constructors should be removed.
  • Not_fn ( # A1: P0358R1的修正程式。Fixes for not_fn(): P0358R1. Std:: not_fn 的新措辭是建議的,除了其他改良功能之外,還提供在包裝函式調用的情況下傳播值類別的支援。The new wording for std::not_fn is proposed, that amongst other improvements, provides support of propagation of value category in case of wrapper invocation.
  • shared_ptr<T [] >,shared_ptr<T [N] >: P0414R2shared_ptr<T[]>, shared_ptr<T[N]>: P0414R2. 將「程式庫基本概念」中的 shared_ptr 變更合併到 C++17。Merging shared_ptr changes from Library Fundamentals to C++17.
  • 修正陣列的 shared_ptr: P0497R0Fixing shared_ptr for Arrays: P0497R0. 修正陣列的 shared_ptr 支援。Fixes to shared_ptr support for arrays.
  • 淘汰 shared_ptr:: unique ( # A1: P0521R0Deprecating shared_ptr::unique(): P0521R0. CA 14 (shared_ptr use_count/unique) 的建議解決方案。Proposed Resolution for CA 14 (shared_ptr use_count/unique).
  • 淘汰 P0618R0Deprecating: P0618R0
  • 移除動態例外狀況規格:P0003R5Removing Dynamic Exception Specifications: P0003R5. 動態例外狀況規格在 C++11 中已被取代。Dynamic exception specifications were deprecated in C++11. 從 C++17 移除此功能,同時保留嚴格作為 noexcept(true) 別名的 (仍) 取代的 throw() 規格。Removing the feature from C++17, while retaining the (still) deprecated throw() specification strictly as an alias for noexcept(true).
  • 接合對應和集合: P0083R3Splicing Maps And Sets: P0083R3. 此設計允許所有種類的接合運算、將項目 (包括地圖索引鍵) 移出容器,以及一些其他有用的作業和設計。This design allows splicing operations of all kinds, moving elements (including map keys) out of the container, and a number of other useful operations and designs. 它是關聯和未排序關聯容器的增強功能,支援節點的操作。It is an enhancement to the associative and unordered associative containers to support the manipulation of nodes. 這僅會新增至標準程式庫。This is a pure addition to the Standard Library.
  • 澄清 insert_return_type: P0508R0Clarifying insert_return_type: P0508R0. 具有唯一索引鍵的關聯容器,以及具有唯一索引鍵的未排序容器具有會傳回巢狀型別 insert_return_type 的成員函式插入。The associative containers with unique keys, and the unordered containers with unique keys have a member function insert that returns a nested type insert_return_type. 傳回型別是這一節中指定的特製化類型。That return type is a specialization of the type specified in this section.
  • STL: P0607R0的內嵌變數。Inline Variables For The STL: P0607R0.
Visual C++ 編譯器的增強功能Improvements to the Visual C++ Compiler

Visual C++ 編譯器支援約 75% 的 C++17 功能,包括結構化繫結、constexpr Lambda、if constexpr、內嵌變數、摺疊運算式、Hexfloat 常值,以及將 noexcept 新增至型別系統。The Visual C++ compiler supports about 75% of the C++17 features, including structured bindings, constexpr lambdas, if constexpr, inline variables, fold expressions, hexfloat literals, and adding noexcept to the type system. /std:c++17 下會提供這些功能。These are available under the /std:c++17 switch. /permissive- 一致性模式包含兩階段名稱查閱的部分支援,以及 variadic 範本之改善的套件擴充支援。The /permissive- conformance mode includes partial support for two-phase name lookup and improved pack expansion support for variadic templates. 此外,/permissive- 模式在 C++ 專案的專案屬性中已新增為新的 [語言] 下拉式功能表。Additionally, /permissive- mode has been added as new Language drop-down menu in the project properties for C++ projects.

改善 Visual C++ 優化工具Improvements to the Visual C++ Optimizer

C++ 程式碼產生小組已改善現有的編譯器最佳化,並在 15.5 版本中新增新的最佳化。The C++ code generation team has made improvements to existing compiler optimizations, and added new optimizations in the 15.5 release.

選取連結器改善:Select linker improvements:

  • 您會體驗更快的 /OPT:ICF 新實作:連結時間最多加速 9%。You will experience new and faster /OPT:ICF implementation: up to 9% link time speedups.
  • 我們已修正累加連結We made fixes to incremental linking. 累加連結絕不會比完全連結慢。Incremental linking will never be slower than full linking.

選取現有的最佳化改善:Select improvements to existing optimizations:

  • 我們已改善條件運算式的啟發式向量化工具。We improved vectorizer heuristic for conditional expressions.
  • 我們已強化 loop-if-unswitching 最佳化。We enhanced loop-if-unswitching optimization.
  • 我們已改善迴圈展開。We made improvements to loop unrolling.
  • 我們已改善浮點數的最低/最高 codegen。We improved float min/max codegen.

選取新的最佳化:Select new optimizations:

  • 我們已改善並排除 SSA 最佳化工具的備援 (和部分備援) 指示。We improved and eliminated redundant (and partially redundant) instructions to SSA Optimizer.
  • 我們已最佳化條件式純量存放區的向量化。We optimized vectorization of conditional scalar stores.
  • 我們會將呼叫 sin (x) 和 cos (x) 合併至 sincos (x) 。We combine calls sin(x) and cos(x) to sincos(x).

Visual C++ 支援 Intel 的 AVX-512,包括將 AVX-512 的新功能整合到 128 和 256 位元寬暫存器的向量長度指令。Visual C++ supports Intel's AVX-512, including the Vector Length instructions that bring new functions in AVX-512 to 128- and 256-bit wide registers.

C++ Core Guidelines 檢查工具的增強功能Improvements to the C++ Core Guidelines Checker

C++ 程式碼分析中會傳送超過 20 項新的 C++ Core Guidelines 檢查 。We are shipping over 20 new C++ Core Guidelines checks in C++ code analysis. 這些檢查涵蓋智慧型指標正確性、全域初始化運算式的正確用法,以及標示 goto 和不正確轉換等結構的使用方式。These checks cover smart pointer correctness, correct use of global initializers, and flagging uses of constructs like goto and bad casts.

某些您可以在 15.3 中找到的警告編號,在 15.5 中已不再使用。Some warning numbers you may find in 15.3 are no longer available in 15.5. 這些警告已取代為更明確的檢查。These warnings were replaced with more specific checks.

Google Test Framework 的內建支援Built-in Support for Google Test Framework

在 Visual Studio 中撰寫、探索及執行您的 Google Test 單元測試。Write, discover, and run your Google Test unit tests in Visual Studio. 根據預設,Test Explorer 現在支援 Google Test framework。By default, the Test Explorer now supports the Google Test framework. 如果您要從先前的 Visual Studio 安裝進行升級,請開啟 Visual Studio 安裝程式,按一下 Visual Studio 實例上的 [修改],然後在 [使用 c + + 的桌面開發] 底下,選取 [適用於 Google Test 的測試配接器] 方塊。If you are upgrading from a previous Visual Studio installation, open the Visual Studio Installer, click "Modify" on your Visual Studio instance, and check the "Test Adapter for Google Test" box under "Desktop development with C++". 輕鬆建立新的 Google Test 專案:選取 [檔案] > [新增] > [專案] > [Visual C++] > [測試] > [Google Test]。Easily create a new Google Test project: select File > New > Project > Visual C++ > Test > Google Test.

TypeScript/JavaScript 改善TypeScript/JavaScript Improvements

Angular 2 支援Angular 2 Support

Angular2 開發人員現在可以在內嵌範本和 .ngml 範本檔案中看到錯誤、完成度和程式碼導覽。Angular2 developers can now see errors, completions, and code navigation in inline templates and .ngml template files. 如需概觀和指示,請參閱範例存放庫See the sample repo for an overview and instructions.

效能提升Performance Improvements

在 [JavaScript/TypeScript 文字編輯器專案選項] 頁面下,我們已新增 [只分析在編輯器中開啟的專案] 核取方塊。We've added a "Only analyze projects which contain files opened in the editor" checkbox under the JavaScript/TypeScript Text Editor Project Options page. 此選項會改善在大型解決方案的效能和可靠性。This option will improve performance and reliability in large solutions. 請注意,勾選此方塊塊,您必須執行解決方案組建,查看所有檔案中的 TypeScript 錯誤完整清單。Note that when this box is checked, you will need to perform a Solution build to see a complete list of TypeScript errors in all files.

我們已修正導致 TypeScript/JavaScript 語言服務所用記憶體超出預期,以及在多專案方案中可能載入錯誤 TypeScript 版本的問題。We fixed an issue that caused the TypeScript/JavaScript language service to use more memory than intended and could cause the wrong version of TypeScript to be loaded in multi-project solutions.

IntelliTrace 改善IntelliTrace Improvements

使用 IntelliTrace 進行調試時的回溯Step-back While Debugging with IntelliTrace

([圖) 2 ] 中的 IntelliTrace 回溯偵錯工具功能,現在支援在 IIS Express 中執行 ASP.NET 應用程式的偵錯工具。IntelliTrace's Step-back debugging feature (Figure 2) is now supported for debugging ASP.NET applications running in IIS Express. 若要啟用這項功能,請移至 [工具 > 選項 > IntelliTrace 設定],然後選取 [ intellitrace 事件和快照]。To enable this feature, go to Tools > Options > IntelliTrace settings, and select IntelliTrace events and snapshots. Windows 10 年度更新和更新版本提供此功能。The feature is available on Windows 10 Anniversary Update and above.

Step-back while debugging with IntelliTrace
(圖 2) 使用 IntelliTrace 進行調試時的回溯(Figure 2) Step-back while debugging with IntelliTrace

ARM 線上編譯器匯出的開啟資料夾支援 Open Folder Support for ARM Online Compiler Exports

在內嵌和 IoT 專案的 Linux C++ 工作負載中選擇選項,即可編輯並編譯以 ARM 微控制器為目標的專案。Choose the option in the Linux C++ workload for Embedded and IoT projects and you can edit and compile projects targeting ARM microcontrollers. 我們支援開啟從 ARM 線上編譯器匯出為 GCC 的專案,它可以從 Visual Studio 在本機交叉編譯。We support opening projects exported as GCC from the ARM online compiler that can then be cross-compiled locally from within Visual Studio. 如需詳細資訊,請參閱適用於 ARM 開發的 Visual C++的部落格文章。For more information, see our blog post on Visual C++ for ARM development.

遠端工作 Remote Tasks

開啟資料夾現在支援遠端工作。Open folder now supports remote tasks. 這些是透過 ssh 在遠端系統上執行的工作。These are tasks that execute on a remote system over ssh. 您也可以設定這些工作,將檔案複製到目標電腦以執行在 Linux 系統上編譯程式碼之類的工作。These tasks can also be configured to copy files to the target machine for doing things like compiling code with make on a Linux system. 若要深入瞭解,請參閱我們在 Visual Studio 中使用遠端工作的 blog 文章。To learn more, see our blog post on Using remote tasks in Visual Studio.

F# 設定的變更 Changes in F# Setup

從 Preview 2 開始,我們已變更 acquiure F # 的方式:Starting with Preview 2, we have changed the way that you acquiure F#:

  • 如果您安裝需要 .NET Core 2.0 的工作負載,它 預設 也會安裝 F# 語言支援。If you install a Workload that requires .NET Core 2.0, it will also install F# language support by default. 這是因為 F # 包含在 .NET Core SDK 中。This is because F# is included in the .NET Core SDK. .NET Core 和 ASP.NET 和網頁程式開發工作負載現在會預設安裝 F #。The .NET Core and ASP.NET and web development workloads will install F# by default now.
  • .NET 桌面開發工作負載中的 [F # 語言支援] 核取方塊已重新命名為 "F # desktop support",以反映它只包含 F # 和 .NET Framework 範本。The "F# language support" checkbox in the .NET desktop development workload has been renamed to "F# desktop support" to reflect that it only includes F# and .NET Framework templates.

目前有 F # 和 .NET Core 支援的問題, 在 GitHub 上有更詳盡的說明。There is currently an issue with F# and .NET Core support, documented more thoroughly on GitHub.. 這項功能已經過修正,未來的預覽版本將會提供。This has already been fixed and will be available in a future Preview release.


發行日期:2017年10月11日-Visual Studio 2017 15.5.0 版 Preview 1Release Date: October 11, 2017 - Visual Studio 2017 version 15.5.0 Preview 1

本版更新摘要Summary of Updates in this Release

本版修正的前幾個主要問題Top Issues Fixed in this Release

本版新功能What's New in this Release

Visual Studio IDEVisual Studio IDE

設定和安裝Setup and Install

  • 安裝程式現在會在安裝期間產生 Windows 還原點。Installer now generates a Windows restore point during installation.
  • [新增/移除程式] 現在有每個 Visual Studio 安裝的項目。Add & Remove Programs now has entries for each Visual Studio installation. Visual Studio 安裝程式現在支援修改與解除安裝每個項目。Visual Studio Installer now supports modify and uninstall for each entry.
  • 離線配置安裝不再需要在中斷連線的電腦上安裝中繼憑證。Installing from an offline layout no longer requires installing intermediate certificates on a disconnected computer.
  • 我們在安裝及更新程序中新增了可靠性與可取消性改善。We added reliability and cancellability improvements in the install and update process.

效能Performance

  • 大型 C# 和 Visual Basic 專案已縮減載入時間。Reduced load times of large C# and Visual Basic projects.
  • 已縮減偵錯和發行間的組態切換時間。Reduced time to switch configurations between debug and release.

已連線的服務Connected Services

  • 我們已更新 Azure 儲存體服務提供者,支援以 .NET Core 為目標的 ASP.NET Core 專案。We've updated the Azure Storage service provider to support ASP.NET Core projects that target .NET Core.

Windows Communication Foundation (WCF) 工具Windows Communication Foundation (WCF) Tools

WCF Web Service Reference連線服務提供者現在是 Visual Studio 15.5 Preview 1 的一部分。The WCF Web Service Reference connected service provider is now part of Visual Studio 15.5 Preview 1.

若要使用這項工具,請以滑鼠右鍵按一下 .Net Core 專案的相依性專案項目,並選取 [新增連線服務] 選項,輸入您想要產生程式碼的 Web 服務位址。To use this tool, right click on the Dependencies project item in your .Net Core project and select the Add Connected Service option, and enter the address of the web service that you want to generate code for. 所產生的 WCF 用戶端 Proxy 程式碼會儲存到 C# 檔案,自動新增至您的專案。The generated WCF client proxy code is saved into a C# file that is automatically added to your project. 這可讓 .NET Core 型程式碼與 Web 服務輕鬆通訊。This will allow your .NET Core based code to easily communicate with the web service.

如需詳細資料,請瀏覽 WCF Web 服務參考在 GitHub 的版本資訊Please visit the WCF Web Service Reference release notes in GitHub for more details.

Visual Studio Tools for XamarinVisual Studio Tools for Xamarin

此版本包含適用於 iOS 和 Android 的 Xamarin SDK 更新支援:This release contains updated support for the Xamarin SDKs for iOS and Android:

Xamarin LiveXamarin Live

Xamarin Live 能讓開發人員直接在 iOS 和 Android 裝置上持續部署、測試及偵錯他們的應用程式。Xamarin Live enables developers to continuously deploy, test, and debug their apps, directly on iOS and Android devices. 下載 Xamarin Live Player 後 (可從 App Store 或 Google Play 取得),您就可以配對裝置和 Visual Studio,僅使用 Visual Studio 和行動裝置開始建置行動應用程式。After downloading the Xamarin Live Player (available in the App Store or on Google Play), you can pair your device with Visual Studio and begin building mobile apps using just Visual Studio and your mobile device. 已針對 Xamarin.Forms 進行最佳化,您現在可以修改其 XAML,立即查看反映在裝置上的變更,不必編譯或等候完整部署。Optimized for Xamarin.Forms, you can now modify their XAML and see the changes reflected in moments on your device without having to compile or wait for a full deploy. 此版本推出許多 Xamarin Live 功能的增強功能,包括:This release brings numerous enhancements to our Xamarin Live functionality, including:

  • 更聰明的偵錯和即時執行:Live Player 現在會在對 Xamarin Live Player 偵錯時,自動將啟始專案調整到正確的平台 (圖 3)。Smarter Debug & Live Run: The Live Player will now automatically adjust your start-up project to the correct platform when debugging to the Xamarin Live Player (Figure 3). 例如,如已選取 iOS 而配對的 Live Player 裝置是 Google 像素,IDE 會建議您將啟始專案變更為 Android。For example, if iOS is selected and the Live Player device that is paired is a Google Pixel, the IDE will recommend you change your start-up project to Android.
  • 部署狀態:您現已可使用狀態列的部署狀態,追蹤 Xamarin Live Player 的 [偵錯] 狀態。Deployment Status: You can now track the status of a "Debug" to the Xamarin Live Player with deployment statuses in the status bar.
  • 主控台和錯誤視窗整合:應用程式內記錄的輸出現在會出現在主控台視窗中,而錯誤現在會出現在 Visual Studio 的 [錯誤] 視窗中。Console & Error Window Integration: Output logged within the app will now appear within the Console window, and errors will now appear in the Errors window in Visual Studio.
  • 即時執行的操作功能表和鍵盤快速鍵:我們希望能以視覺化的方式立即顯示 XAML UI,所以新增了操作功能表和鍵盤快速鍵,讓您快速輕鬆預覽您的 XAML 頁面。Live Run Context Menu & Keyboard Shortcut: We wanted to make it easy to instantaneously visualize your XAML UI, so we added a context menu and keyboard shortcut to make previewing your XAML pages fast and easy.
  • 即時執行文件切換:建置 UI 時,經常要在不同的 XAML 文件之間切換。Live Run Document Switching: When building out UIs, it's common to switch between different XAML documents. 在 Visual Studio 中變更使用中的文件,會自動即時執行已開啟的任何 XAML 頁面,所以您可以輕鬆地在不同網頁之間來回切換,讓它們立即反映在裝置上。Changing the active document in Visual Studio will automatically live run whatever XAML page you have open, so you can easily switch back-and-forth between different pages and have them reflected on your device instantaneously.
Xamarin Live Player
(圖 3) Xamarin Live Player 配對、部署和即時編輯模式的動畫(Figure 3) Animation of the Xamarin Live Player pair, deployment, and live edit modes
範本Templates

檔案 > 新的專案-> 的行動應用程式 (圖 4) 透過適用于 IOS、Android 和 Windows 應用程式的跨平臺範本的更新,讓您更輕鬆地更新,包括:File -> New Project -> Mobile App (Figure 4) just got easier with updates to the cross-platform template wizard for iOS, Android, and Windows apps, including:

  • .NET Standard 支援 - 您現在可以建立新的跨平台 Xamarin 應用程式,使用 .NET Standard 2.0 作為程式碼共用策略。.NET Standard Support - You can now create a new cross-platform Xamarin app that uses .NET Standard 2.0 as a code sharing strategy.
  • 目標平台核取方塊 - 在 [檔案] -> [新增] 選取您重視的平台。Target Platforms Checkbox - Select what platforms you care about at File -> New.
  • PackageReference-所有範本現在都預設為使用 PackageReference,這是在 Xamarin 應用程式中管理 NuGet 套件的簡易方式。PackageReference - All templates now default to using PackageReference, a new easy way to manage NuGet packages in your Xamarin apps.
  • 展開效能增強功能 - 範本現在展開的速度應該比以前快。Unfold performance enhancements - Templates should now unfold much faster than before. 在最極端的情況下,展開時間最快可以達到 40 倍。In the most extreme cases, you may see up to a 40x improvement in unfold time.
File -> New -> Mobile App
(圖 4) 檔案- > 新行動裝置 > 應用程式(Figure 4) File -> New -> Mobile App
Xamarin Android SDK ManagerXamarin Android SDK Manager

使用新的 Xamarin Android SDK Manager,管理 Android SDK 更容易。Managing your Android SDKs just got easier with the new Xamarin Android SDK Manager. 請前往 Visual Studio 中的 [工具] -> [Android] -> [Android SDK Manager],使用新的 SDK Manager。You can use the new SDK Manager by going to Tools -> Android -> Android SDK Manager in Visual Studio.

F# 改善F# Improvements

F# 4.1 編譯器在此版本中有許多 Bug 修正:There are a number of bug fixes in the F# 4.1 compiler with this release:

  • F# 編譯器的 PDB 產生改善,會修正偵錯 F# 2014 年以前的五個已知問題Improvements to PDB generation in the F# compiler, fixing five known issues in debugging F# dating back to 2014.
  • 編譯器不正確解析修正的記錄欄位,作者:Vasily KirichenkoA fix for record fields being incorrectly resolved by the compiler, by Vasily Kirichenko.
  • Async.startastask 現在會正確等待取消完成, Matthias DitrichStartAsTask will now properly wait for cancellation to finish, by Matthias Ditrich.
  • 現在只有在屬性中使用類型時,才會建立組件參考。Assembly references are now created when a type is used in an attribute only.
  • 具有相同大小寫名稱的單一案例結構差別聯集不會再以無訊息模式轉換成物件類型。Single-case struct discriminated unions with the same case name are no longer silently converted to an object type.
  • MailboxProcess 上可能會有無限的非同步迴圈。A possible endless async loop on MailboxProcess. 已修正接收。Receive has been fixed.

多位作者也有很多的 Visual F# 工具改進。There have also been quite a few improvements to the Visual F# tooling by multiple authors. 包括:They include:

  • 從 F# 移至 C# 的 [定義],作者:Saul RennisonVasily KirichenkoGo to Definition from F# to C#, by Saul Rennison and Vasily Kirichenko.
  • 藍色 (更高對比) 佈景主題顏色標示,作者:Microsoft 和 Vasily KirichenkoColorization for Blue (Extra Contrast) theme, by Microsoft and Vasily Kirichenko.
  • 屬性頁會隨不同的監視器正確自動調整大小。Property pages will auto-size correctly on different monitors.
  • 新行的智慧型自動縮排, Duc Nghiem XuanSmart auto-indent for new lines, by Duc Nghiem Xuan.
  • >saul (rennison 英文) 自動 deindentation 右括弧。Auto-deindentation for closing brackets, by Saul Rennison.
  • 列舉欄位現在在工具提示、尋找所有參考、移至所有項目以及內嵌重新命名中會顯示為符號,作者:Vasily KirichenkoEnumeration fields are now able to be seen as symbols in tooltips, Find All References, Go to All, and Inline Rename, by Vasily Kirichenko.
  • 以換行分隔的 XML 文件註解,不會在動態顯示時加在目前 XML 文件註解的前面,作者:Vasily KirichenkoXML doc comments which are separated by newlines are not prepended to the current XML doc comment in hovers, by Vasily Kirichenko.
  • 已更正 ref 關鍵字的 XML 文件,作者:CHBenThe XML documentation for the ref keyword has been corrected by CHBen.
  • 多個 Bug 修正和效能改善。Multiple bug fixes and performance improvements.

此外,也有支援 .NET Core SDK 專案的進展。There has also been progress on supporting .NET Core SDK-based projects. 這項支援仍不夠就緒,無法宣告完整的支援,但歡迎您嘗試開啟這類專案並進行實驗。That support is still not ready enough to declare full support yet, but we welcome you to try out opening such a project and experimenting.

若要在此版本中查看一組完整的變更,請參閱 VS 2017 15.5 Preview 標記的認可記錄To see a full set of changes with this release, see our commit log for the VS 2017 15.5 Preview tag.

使用快照偵錯工具在生產環境中進行偵錯工具Debug in-production apps with the Snapshot Debugger

您現在可以使用貼齊點和記錄點,對在 Azure 應用程式服務中執行的 ASP.NET 和 ASP.NET Core 應用程式進行偵錯,將對應用程式的影響降至最低。You can now use Snappoints and Logpoints to debug against ASP.NET and ASP.NET Core applications running in Azure App Services with minimal impact to the app.

  • 設定快照點 (圖 5) 來捕捉您應用程式的狀態,包括區域變數、監看式和呼叫堆疊。Set Snappoints (Figure 5) to capture the state of your app, including Locals, Watches, and the Call Stack. 與中斷點不同,您的應用程式遇到貼齊點時不會停止。Unlike breakpoints, your app will not stop when a Snappoint is hit.
Snap Points Image
(圖 5) 快照點(Figure 5) Snappoints
  • 使用記錄點 (圖 6) 從您的應用程式記錄新訊息,而不需要新增程式碼或重新部署您的應用程式。Use Logpoints (Figure 6) to log new messages from your app without needing to add code or redeploy your application.
Logpoint
(圖 6) 記錄點(Figure 6) Logpoint

從 Visual Studio 存取已啟用條件式存取的 Azure 資源Accessing Azure resources from Visual Studio with Conditional Access enabled

Visual Studio 現在支援存取啟用條件式的 Azure 資源,它們需要您驗證 2FA,即使您的帳戶本身不需要 2FA。Visual Studio now supports access to Azure resources that have conditional access enabled that requires you to authenticate with 2FA, even if your account itself does not require 2FA. 過去,如果帳戶登入需有 2FA,Visual Studio 會提示輸入 2FA,然後您就可以存取需有 2FA 的任何資源;但如果帳戶不需要 2FA,Visual Studio 就無法存取這些 2FA 資源。Previously, if your account required 2FA to sign in, Visual Studio would prompt for 2FA and you could then access any resources that required 2FA; but if your account did not require 2FA, Visual Studio would fail to access those 2FA resources.

現在,當帳戶不需要 2FA 但資源需要時,您要不使用 2FA在 Visual Studio 中驗證帳戶,而當您第一次嘗試存取需要 2FA 的 Azure 資源時,Visual Studio 會提示您重新驗證,這次需要有 2FA 才能啟用資源存取權。Now, when accounts do not require 2FA but resources do, you may authenticate your account within Visual Studio without 2FA, and when you first try to access an Azure resource that requires 2FA, Visual Studio will prompt you to re-authenticate and this time will require 2FA to enable access to your resource.

使用 Git 子模組和工作樹狀結構,並在 Team Explorer 中設定 fetch 和 pull 重定基底。Work with Git submodules and worktrees, and configure fetch.prune and pull.rebase in Team Explorer

Team Explorer 的最新更新皆來自於您在 UserVoice 的意見反應。The latest updates to Team Explorer have been inspired by your feedback on UserVoice.

Visual Studio 現在會將 Git 子模組和工作樹狀結構視為一般存放庫。Visual Studio now treats Git submodules and worktrees like normal repos. 只要將它們新增至您的本機儲存放庫清單,即可動手撰寫程式碼!Just add them to your list of Local Repositories and get coding! 請注意,子模組仍無法執行任何需要多存放庫支援的動作 (例如,同時檢視父存放庫的檔案和子模組的檔案)。Please note that for submodules, you still cannot do any action that requires multi-repo support (such as viewing a file in the parent repo and a file in the submodule at the same time).

此外,現在更容易設定預設的 Git 行為,以剪除每一項擷取及重訂每個提取的基底。Additionally, it's now easier to set your default Git behavior to prune on every fetch and to rebase on every pull. 每一項擷取的剪除都會移除不再存在於伺服器的本機追蹤分支,協助您保護分支清單的整潔與最新狀態。Pruning on every fetch removes local tracking branches that no longer exist on the server and helps you keep your branches list clean and up to date. 重訂每個提取的基底會讓認可記錄保持線性並更容易追蹤。Rebasing on every pull keeps your commit history linear and easier to follow. 您可以在 [全域] 和 [存放庫] 設定中找到這些選項。You can find these options in Global and Repository Settings.

Windows 市集中適用於 Office 的 Office 工具支援 Office Tooling Support for Office in the Windows Store

Office Web 增益集專案及 VSTO 專案現在支援 Windows 市集中使用 Office 的開發。Office Web Add-in projects and VSTO Projects now support development with Office in the Windows Store. 您可以使用 Windows 市集中的 Office 建立、建置、偵錯及發行 Web 增益集專案和 VSTO 專案。You can create, build, debug, and publish Web Add-in projects and VSTO projects using Office in the Windows Store.

  • 需有 Windows 10 或 Windows Server 2016 的 Fall Creators Update (1709 版),才能使用 Windows 市集 Office 的 Office 工具。The Fall Creators Update (version 1709) for Windows 10 or Windows Server 2016 is required to use the Office Tooling with Office in the Windows Store.

適用於 Unity 的 Visual Studio Tools Visual Studio Tools for Unity

  • Unity 專案現在會在您從 Unity 新增或移除指令碼時,自動重新載入 Visual Studio 中。Unity projects are now automatically reloaded in Visual Studio when you add or remove a script from Unity.
  • 已修正使用 IL2CPP/.NET 4.6 後端處理 UWP 遊戲時產生 .Player 專案的問題。Fixed .Player project generation when working on a UWP game with the IL2CPP/.NET 4.6 backend.
  • 已導入選項,使用 Xamarin 和 Visual Studio for Mac 共用的單聲道偵錯工具偵錯 Unity 編輯器。Introduced an option to use the Mono debugger shared by Xamarin and Visual Studio for Mac to debug the Unity Editor.

Live Unit TestingLive Unit Testing

  • Live Unit Testing 的組建現位在處理程序外,可改善 Visual Studio 中的記憶體使用量。Live Unit Testing’s builds are now out-of-process improving memory utilization in Visual Studio.

已知問題Known Issues

Visual Studio 2017 Known Issues查看 Visual Studio 2017 15.5 版中所有現有的已知問題和可用的因應措施。 Visual Studio 2017 Known Issues See all existing known issues and available workarounds in Visual Studio 2017 version 15.5.

歡迎您提供意見反應。We are fully committed to listening to your feedback. 請前往Developer Community (開發人員社群) 網站,以尋找最新問題、記錄新問題及附議現有問題。Visit the Developer Community site to find the latest issues, log new issues, and upvote existing issues.


Visual Studio 2017 版本資訊記錄Visual Studio 2017 Release Notes History

如需舊版 Visual Studio 2017 的詳細資訊,請參閱 Visual Studio 2017 版本資訊歷程記錄頁面。For more information relating to past versions of Visual Studio 2017, see the Visual Studio 2017 Release Notes History page.


頁首
Top of Page