Visual Studio Icon Visual Studio 2017 15.5 版版本資訊Visual Studio 2017 version 15.5 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 download the latest release, please visit the current release notes for Visual Studio 2019.


若要下載 Visual Studio 2017,請按一下 [下載] 按鈕,並在出現提示時使用您的 Visual Studio 訂用帳戶登入。To download Visual Studio 2017, click the download button and log in with your Visual Studio Subscription when prompted. 若您還沒有 Visual Studio 訂用帳戶,可以在登入頁面上按一下 [建立新的 Microsoft 帳戶] 來免費建立一個。If you don’t have a Visual Studio Subscription, you can create one for free by clicking on “Create a new Microsoft account” on the login page. 建議您使用 Visual Studio 2019 以取得最新功能與錯誤 (Bug) 修正。We recommend using Visual Studio 2019 to get the latest features and bug fixes.

若要下載其他 Visual Studio 2017 產品,請前往較舊版本頁面。Visit the older version page to download other Visual Studio 2017 products.


15.5 中的新功能What's New in 15.5

Visual Studio 部落格 是 Visual Studio 工程小組提供產品見解的官方來源。The Visual Studio Blog is the official source of product insight from the Visual Studio Engineering Team. 您可以在下列文章中找到有關 Visual Studio 15.5 版的版本詳細資訊:You can find in-depth information about the Visual Studio version 15.5 releases in the following posts:

Visual Studio 2017 15.5 版的版本Visual Studio 2017 version 15.5 Releases


15.5 中值得注意的新功能摘要Summary of Notable New Features in 15.5

15.5 中已修正的常見問題Top Issues Fixed in 15.5

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

查看 Visual Studio 2017 15.5 版中所有已修正的客戶回報問題。See all customer-reported issues fixed in Visual Studio 2017 version 15.5.

The Developer Community Portal


15.5 中新功能的詳細資料Details of What's New in 15.5

Release Notes Icon Visual Studio 2017 15.5.0 版Visual Studio 2017 version 15.5.0

發行於 2017 年 12 月 4 日released on December 4, 2017

15.5 中的新功能New Features in 15.5

Visual Studio IDEVisual Studio IDE

設定和安裝Setup and Install
  • 安裝程式現在會在安裝期間產生 Windows 還原點。Installer now generates a Windows restore point during installation.
  • [新增/移除程式] 現在有每個 Visual Studio 安裝的項目。Add and 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.
更新 [錯誤] 對話方塊 Updated Error Dialog

我們更新了錯誤對話方塊以顯示詳細資訊,使用 Visual Studio 開發人員社群中可能的解決方案來協助解決安裝問題。We 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
效能Performance
  • 大型 C# 和 Visual Basic 專案已縮減載入時間。Reduced load times of large C# and Visual Basic projects.
  • 已縮減偵錯和發行間的組態切換時間。Reduced time to switch configurations between debug and release.
  • 縮短了在 .NET Core 專案中新增、移除檔案與資料夾及重新命名的時間。Reduced time to add, remove, and rename files and folders in .NET Core projects.
  • 因為即使沒有輕量型解決方案載入 (LSL),解決方案載入時間也已縮短,所以即將淘汰 LSL。Deprecated Lightweight Solution Load (LSL) because solution load time without LSL has been reduced.
已連線的服務Connected Services
  • 我們更新了 Azure 儲存體服務提供者,來支援以 .NET Core 為目標的 ASP.NET Core 專案。We updated the Azure Storage service provider to support ASP.NET Core projects that target .NET Core.

Team Explorer 更新Team Explorer Updates

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

您現在可以使用 Git 子模組和工作樹狀結構,在 Team Explorer 中設定 fetch.prunepull.rebaseYou can now work with Git submodules and worktrees, and configure fetch.prune and pull.rebase in Team Explorer. 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.

.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 through 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 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.

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 之後,發生程式碼編譯問題的事件中,您可以強制並存安裝 14.11 工具組及 14.12 工具組。In the event that you encounter an issue compiling your code after upgrading to Visual Studio 2017 15.5, 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 through 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 參數 / ref readonly 傳回:允許安全傳遞無法修改的結構,並以和可修改的 ref 值同樣的效率傳回。in parameters / ref readonly returns: Allows for unmodifiable structs to be safely passed and returned with the same efficiency as modifiable 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.

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:

即時執行目前的檢視Live Run Current View

有了新的即時執行目前檢視功能 (圖 2),要建置以 XAML 為基礎的使用者介面變得更簡單。Building XAML-based user interfaces just got even easier with our new Live Run Current View feature (Figure 2). 在您建置使用者介面的時,不必儲存、編譯或重新部署應用程式,就能在 Android 模擬器中鍵入並同時看到介面實際效果。As you build out your user interface, see it come to life as you type in the Android emulator, without having to save, compile, or redeploy the app.

(圖2) 即時執行目前檢視(Figure 2) Live Run Current View
Xamarin Live PlayerXamarin Live Player

Xamarin Live Player 能讓開發人員直接在 iOS 和 Android 裝置上持續部署、測試應用程式及對其偵錯。The Xamarin Live Player 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 app (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 and Live Run: The Live Player now automatically adjusts 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 and Error Window Integration: Output logged within the app now appears within the Console window, and errors will appear in the Errors window in Visual Studio.
  • 即時執行操作功能表與鍵盤快速鍵:我們希望能以視覺化的方式立即顯示 XAML UI,所以新增了操作功能表和鍵盤快速鍵,讓您快速輕鬆預覽您的 XAML 頁面。Live Run Context Menu and 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 automatically live runs 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

iOS、Android 與 Windows 應用程式的跨平台範本精靈更新,讓 [檔案] -> [新增專案] -> [行動應用程式] (圖 4) 變得更容易使用,包括: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) The File -> New -> Mobile App setting
遠端 iOS 模擬器Remoted iOS Simulator

遠端 iOS 模擬器提供您更簡易的方法,可以完全從 Windows 上的 Visual Studio 對 iOS 應用程式進行偵錯及測試。The Remoted iOS Simulator provides you with an easy way to debug and test iOS apps on the simulator entirely from Visual Studio on Windows. 其支援與 Mac 上的 iOS 模擬器完全相同的功能,甚至還包括多點觸控支援!It supports everything that the iOS Simulator on Mac can do and even more - including multi-touch support! 從 Visual Studio 2017 15.5 版開始,Visual Studio 的每個版本現在都能使用遠端 iOS 模擬器,包括免費的 Community 版本。Beginning in Visual Studio 2017 version 15.5, the Remoted iOS Simulator is now available in all Visual Studio Editions, including the free Community Edition.

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# Tooling Improvements

在 Visual Studio 2017 15.5 版中,我們著重於 .NET Core SDK 專案的 F# 工具支援。In the Visual Studio 2017 15.5 release, we focused on 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 Core SDK 專案的支援,以 .NET Framework 版本為目標。We added support for existing .NET Core SDK projects that target a .NET Framework version.
  • 支援專案對專案參考。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.

Visual F# 工具也曾有一些改善,但它們不著重於 .NET Core SDK 專案。There have also been quite a few improvements to the Visual F# tooling that are not focused on .NET Core SDK projects. 包括: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 now auto-size correctly on different monitors.
  • 縮排設定為「智慧」時會自動智慧縮排新行,作者:Duc Nghiem XuanSmart auto-indent for new lines when indentation is set to "Smart", by Duc Nghiem Xuan.
  • 縮排設定為「智慧」時自動取消右中括號縮排,作者:Saul RennisonAuto-deindentation for closing brackets when indentation is set to "Smart", 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 that 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.

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

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

我們已變更您獲得 F# 的方式:We have changed the way that you acquire F#:

  • 如果安裝需要 .NET Core 2.0 的工作負載,根據預設 它也會安裝 F# 語言支援。If you install a Workload that requires .NET Core 2.0, it also installs F# language support by default. .NET Core、ASP.NET 和 Azure 工作負載現在都會這麼做。The .NET Core, ASP.NET, and Azure workloads now do this.
  • .NET 桌面開發、資料儲存和處理,以及資料科學和分析應用程式工作負載中的 [F# 語言支援] 核取方塊已重新命名為 [F# 桌面支援]。The "F# language support" checkbox in the .NET desktop development, Data storage and processing, and Data science and analytical applications workloads have been renamed to "F# desktop support".

F# 4.1 編譯器改善F# 4.1 Compiler 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.
  • StartAsTask 現在會正確等待取消完成,撰寫者為 Matthias DitrichStartAsTask now properly waits 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 C++ 改進 Visual C++ Improvements

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

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 Secure Shell (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 遠端工作的部落格文章。To learn more, see our blog post on using remote tasks in Visual Studio.

標準範本庫改善Improvements for the Standard Template Library

開放式標準網站保留多個頁面供群組產生開放式標準。The Open Standards website holds a number of pages for groups producing open standards. 已新增有關 C++17 標準的標準範本庫改善:We added these improvements to the Standard Template Library regarding the C++17 standard:

  • not_fn():P0005R4 建議採用程式庫基本概念 TS v2 的 not_fn 函式繫結器,取代舊的否定運算子 not1not2not_fn(): P0005R4 recommends adopting the not_fn function binder from the Library Fundamentals TS v2 as a replacement for the old negators, not1 and not2.
  • 修改 enable_shared_from_thisP0033R1 Re-enabling shared_from_thisRewording 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 中的配置器支援:P0302R1Removing 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() 的修正:P0358R1Fixes 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_ptrP0497R0Fixing shared_ptr for Arrays: P0497R0. 修正陣列的 shared_ptr 支援。Fixes to shared_ptr support for arrays.
  • shared_ptr::unique() 即將淘汰:P0521R0Deprecating shared_ptr::unique(): P0521R0. 建議的 CA 14 解決方式 (shared_ptr use_count/unique)。Proposed Resolution for CA 14 (shared_ptr use_count/unique).
  • codecvt 即將淘汰:P0618R0 並非解決 Unicode 轉碼的最佳方法,此程式庫元件應該淘汰至附錄 D。Deprecating codecvt: P0618R0, is not the best way to address Unicode transcoding, this library component should be retired to Annex D.
  • 移除動態例外狀況規格: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_typeP0508R0Clarifying 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 的內嵌變數:P0607R0Inline Variables for the STL: P0607R0.
Visual C++ 編譯器改善Visual C++ Compiler Improvements

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++ 最佳化工具改善Visual C++ Optimizer Improvements

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++ 程式碼分析中會傳送超過 20 項新的 C++ Core Guidelines 檢查 。We are shipping over 20 new C++ Core Guidelines checks in C++ code analysis. 這些檢查涵蓋智慧型指標正確性、全域初始設定式是否正確使用,並標示 gotobad_cast 等建構的使用。These checks cover smart pointer correctness, correct use of global initializers, and flagging uses of constructs like gotoand bad_cast.

某些您可以在 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 與 Boost.Test Framework 的內建支援 Built-in Support for Google Test and Boost.Test Framework

在 Visual Studio 中撰寫、探索及執行 Google Test 和 Boost.Test 單元測試。Write, discover, and run your Google Test and Boost.Test unit tests in Visual Studio. [測試總管] 現在預設支援 Google Test 和 Boost.Test 架構。By default, the Test Explorer now supports the Google Test and Boost.Test frameworks. 如果要從舊版 Visual Studio 安裝升級,請開啟 Visual Studio 安裝程式,按一下 Visual Studio 執行個體的 [修改],選取 [使用 C++ 的桌面開發] 下的 [適用於 Google Test 的測試配接器] 和 [適用於 Boost.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" and "Test Adapter for Boost.Test" boxes 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.

如需詳細資訊,請參閱 Microsoft Docs 的 How to use Google Test for C++ in Visual Studio (如何在 Visual Studio 中使用 Google Test for C++) 和 How to use Boost.Test for C++ in Visual Studio (如何在 Visual Studio 中使用 Boost.Test for C++) 頁面。For more information please refer to the How to use Google Test for C++ in Visual Studio and How to use Boost.Test for C++ in Visual Studio pages on Microsoft Docs.

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 through the Automatically start containers in background setting in Visual Studio.

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 added an 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.

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

WCF Web 服務參考連線服務提供者 (圖 5) 現在是 Visual Studio 15.5 的一部分。The WCF Web Service Reference connected service provider (Figure 5) is now part of Visual Studio 15.5.

WCF Web Service Reference
(圖 5) WCF Web 服務參考(Figure 5) WCF Web Service Reference

若要使用這項工具,請以滑鼠右鍵按一下 .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 allows 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.

偵錯和診斷Debugging and Diagnostics

利用快照集偵錯工具偵錯生產環境內的應用程式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.

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

有了內嵌來源之後,Visual Studio 偵錯工具現已可直接從 PDB 檔案擷取並使用受控二進位檔的來源檔案。With Embedded Source, the Visual Studio Debugger can now extract and use source files for managed binaries directly from the PDB files. 將內嵌來源與內嵌 PDB 相結合,建立完全獨立的可偵錯二進位檔。Combine Embedded Source with Embedded PDB to create fully standalone debuggable binaries. 深入了解使用 /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.

使用 IntelliTrace 偵錯時回溯Step-back While Debugging with IntelliTrace

透過新的 IntelliTrace 偵錯功能,IntelliTrace 會自動在每一個中斷點和偵錯工具步驟建立快照集。With the new IntelliTrace Step-back debugging feature, IntelliTrace automatically takes a snapshot of your application on each breakpoint and debugger step. 這讓您可以回溯到前面的中斷點或步驟,以檢視應用程式過去的狀態。This enables you to go back to previous breakpoints or steps and view the state of the application as it was in the past.

這項功能可在 Windows 10 年度更新版 (含) 以上的版本使用,且目前支援偵錯 ASP.NET、WinForms、WPF、受控主控台應用程式及受控類別庫 (圖 8)This feature is available on Windows 10 Anniversary Update and above, and currently supports debugging ASP.NET, WinForms, WPF, managed console apps, and managed class libraries (Figure 8). 若要啟用這項功能,請移至 [工具] > [選項] > [IntelliTrace] 設定,然後選取 [IntelliTrace 事件與快照集]。To enable the feature, go to Tools > Options > IntelliTrace settings and select IntelliTrace events and snapshots.

Stepback
(圖 8) 使用 IntelliTrace 偵錯時倒退執行(Figure 8) Step-back while debugging with IntelliTrace

從啟用條件式存取的 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 prompts you to re-authenticate and requires 2FA to enable access to your resource.

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.

Windows 封裝Windows Packaging

我們在封裝專案中新增了支援,以包含 UWP 應用程式與元件,可協助您從現有的傳統型應用程式使用最新的 Windows 10 功能。We added support in the packaging project to include UWP applications and components that helps to take advantage of the latest Windows 10 capabilities from your existing desktop applications. 若要納入 UWP 元件,您可以對 UWP 應用程式 Add Reference (圖 9)To include a UWP components you can Add Reference to the UWP application (Figure 9).

Windows Packaging Project with UWP reference
(圖 9) Windows 封裝專案含 UWP 參考(Figure 9) Windows Packaging Project with UWP reference

您可使用存放區套件精靈產生您需要的檔案,將您的傳統型橋接器應用程式提交至存放區,做法與現有 UWP 專案一般。You can use the store package wizard to generate the files you need to submit your Desktop Bridge application to the store, as with existing UWP projects.


Release Notes IconVisual Studio 2017 15.5.1 版Visual Studio 2017 version 15.5.1

發行於 2017 年 12 月 7 日released on December 7, 2017

15.5.1 中已修正的常見問題Top Issues Fixed in 15.5.1

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


Release Notes Icon Visual Studio 2017 15.5.2 版Visual Studio 2017 version 15.5.2

發行於 2017 年 12 月 14 日released on December 14, 2017

15.5.2 中已修正的常見問題Top Issues Fixed in 15.5.2

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


Release Notes IconVisual Studio 2017 15.5.3 版Visual Studio 2017 version 15.5.3

發行於 2018 年 1 月 9 日released on January 9, 2018

15.5.3 中的更新摘要Summary of Updates in 15.5.3

.NET Core 的 Microsoft 資訊安全諮詢Microsoft Security Advisories for .NET Core

  • CVE-2018-0786 X509 憑證驗證中的安全性功能略過:Microsoft 發佈此資訊安全諮詢旨在提供 .NET Core 1.0、1.1 及 2.0 公用版本之弱點的相關資訊。CVE-2018-0786 Security Feature Bypass in X509 Certificate Validation Microsoft is releasing this security advisory to provide information about a vulnerability in the public versions of .NET Core 1.0 and 1.1, and 2.0. 此諮詢也提供了指導,讓開發人員了解如何才能正確地更新應用程式。This advisory also provides guidance on what developers can do to update their applications correctly. 此資訊安全諮詢亦適用 .Net Native for UWP。This security advisory is also applicable to .NET native for UWP.

    Microsoft 發現公用版本的 .NET Core 有一項安全性弱點,攻擊者可以提供標示為無法作特定用途的憑證,但有一個元件會為此用途使用該憑證。Microsoft is aware of a security vulnerability in the public versions of .NET Core where an attacker could present a certificate that is marked invalid for a specific use, but a component uses it for that purpose. 而這項動作會忽略增強金鑰使用方法標記。This action disregards the Enhanced Key Usage tagging.

    此安全性更新確保該 .NET Core 元件會完整驗證憑證,進而解決此弱點。The security update addresses the vulnerability by ensuring that .NET Core components completely validate certificates. 建議系統管理員將 .NET Core 執行階段的版本更新到 1.0.9、1.1.6 及 2.0.5。System administrators are advised to update their .NET Core runtimes to versions 1.0.9, 1.1.6 and 2.0.5. 建議開發人員將 .NET Core SDK 的版本更新到 2.1.4 或 1.1.7。Developers are advised to update their .NET Core SDK to version 2.1.4 or 1.1.7.

  • CVE-2018-0764 剖析 XML 文件時發生服務阻斷:Microsoft 發佈此資訊安全諮詢旨在提供 .NET Core 1.0、1.1 及 2.0 公用版本之弱點的相關資訊。CVE-2018-0764 Denial of Service when parsing XML documents Microsoft is releasing this security advisory to provide information about a vulnerability in the public versions of .NET Core 1.0 and 1.1, and 2.0. 此諮詢也提供了指導,讓開發人員了解如何才能正確地更新應用程式。This advisory also provides guidance on what developers can do to update their applications correctly.

    XML 文件的不當處理使 Microsoft 注意到所有公開版本的 .NET Core 中都有阻斷服務的弱點。Microsoft is aware of a Denial of Service vulnerability in all public versions of .NET core due to improper processing of XML documents. 成功惡意探索此弱點的攻擊者可能會使 .NET 應用程式發生服務阻斷。An attacker who successfully exploited this vulnerability could cause a denial of service against a .NET application. 遠端未經驗證的攻擊者可以藉由向 .NET Core 應用程式發出特製要求,來惡意探索此弱點。A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to a .NET Core application.

    此更新修正了 .NET Core 處理 XML 文件的方式,進而解決此弱點。The update addresses the vulnerability by correcting how .NET core handles XML document processing. 建議系統管理員將 .NET Core 執行階段的版本更新到 1.0.9、1.1.6 及 2.0.5。System administrators are advised to update their .NET Core runtimes to versions 1.0.9, 1.1.6 and 2.0.5. 建議開發人員將 .NET Core SDK 的版本更新到 2.1.4 或 1.1.7。Developers are advised to update their .NET Core SDK to version 2.1.4 or 1.1.7.

15.5.3 中已修正的常見問題Top Issues Fixed in 15.5.3

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


Release Notes IconVisual Studio 2017 15.5.4 版Visual Studio 2017 version 15.5.4

發行於 2018 年 1 月 16 日released on January 16, 2018

15.5.4 中已修正的常見問題Top Issues Fixed in 15.5.4

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


Release Notes IconVisual Studio 2017 15.5.5 版Visual Studio 2017 version 15.5.5

發行於 2018 年 1 月 25 日released on January 25, 2018

15.5.5 中的更新摘要Summary of Updates in 15.5.5

  • MSVC 編譯器已更新並有 /Qspectre 參數的支援,此參數可在編譯器偵測到 Spectre 變體 1 的執行個體時,自動插入推測屏障。The MSVC compiler has been updated with support for the /Qspectre switch that automatically inserts a speculation barrier when the compiler detects instances of Spectre variant 1. 如需有關 /Qspectre 的詳細資訊,請參閱 Visual C++ 小組部落格For more information about /Qspectre please refer to the Visual C++ Team Blog.

15.5.5 中已修正的常見問題Top Issues Fixed in 15.5.5

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


Release Notes IconVisual Studio 2017 15.5.6 版Visual Studio 2017 version 15.5.6

發行於 2018 年 1 月 29 日released on January 29, 2018

15.5.6 中的更新摘要Summary of Updates in 15.5.6


Release Notes IconVisual Studio 2017 15.5.7 版Visual Studio 2017 version 15.5.7

發行於 2018 年 2 月 20 日released on February 20, 2018

15.5.7 中的更新摘要Summary of Updates in 15.5.7

  • Team Explorer 支援 TLSv1.2。Team Explorer supports TLSv1.2. 我們已更新了隨附於 Visual Studio 的 Git 和 Git 認證管理員元件。We have updated the Git and the Git Credential Manager components that ship in Visual Studio. 選擇性的 Git for Windows 元件也已更新。The optional Git for Windows component has also been updated. 對於停止支援 TLSv1 與 TLSv1.1 而改為支援 TLSv1.2 的服務,此更新可讓 Git 連線至此類服務。This update allows Git to connect to services that have deprecated support for TLSv1 and TLSv1.1 in favor of TLSv1.2.

15.5.7 中已修正的常見問題Top Issues Fixed in 15.5.7

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

  • Visual Studio 2017 15.5 版不支援以 .NET Core 2.1 或更新版本為目標的專案。Projects targeting .NET Core 2.1 or newer are not supported by Visual Studio 2017 version 15.5.
  • 已修正下列問題:安裝適用於 .NET Core 2.1 或更新版本的 SDK 之後,會使得建立 ASP.NET Core 2.0 Web 應用程式的選項消失。Fixed issue where installation of the SDK for .NET Core 2.1 or newer would cause the option to create ASP.NET Core 2.0 Web applications to disappear.

已知問題Known Issues

歡迎您提供意見反應。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 15.5 版中所有現有的已知問題和可用的因應措施。See all existing known issues and available workarounds in Visual Studio 2017 version 15.5.

Visual Studio 2017 Known Issues Visual Studio 2017 Known Issues


意見反應 & 建議Feedback & Suggestions

我們很希望聽聽您的意見!We would love to hear from you! 若有任何問題,請透過安裝程式或 Visual Studio IDE 本身右上角的回報問題選項來通知我們。For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. 必須提供The Report a Problem Icon 圖示位在右上角。icon is located in the upper right-hand corner. 您可以在 Visual Studio 開發人員社群中提出產品建議或追蹤您的問題,也可以提出問題、尋找解答及提議新功能。You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. 您也可以透過我們的即時聊天支援取得免費的安裝協助。You can also get free installation help through our Live Chat support.


部落格Blogs

善用「開發人員工具部落格」網站中的見解與建議,讓您能夠隨時取得所有新版本的最新資訊,以及涵蓋各類功能的深入探討文章。Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.

Developer Tools Blogs


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