Visual Studio IconVisual Studio 2017 15.7 版版本資訊


開發人員社群 | 系統需求 | 相容性 | 可散發程式碼 | 授權條款 | 部落格 | 已知問題



注意

這不是 Visual Studio 的最新版本。 若要下載最新版本,請參閱 Visual Studio 的網站。


支援時間範圍

此版本現在已不支援。 如需 Visual Studio 支援的詳細資訊,請參閱 Visual Studio 2017 的支援原則

請參閱最新版的版本資訊,或造訪 Visual Studio 網站以下載最新支援的 Visual Studio 2017 版本。

Visual Studio 部落格

Visual Studio 部落格是 Visual Studio 工程小組提供產品見解的官方來源。 您可以在下列文章找到有關 Visual Studio 15.7 版的深入資訊:

Visual Studio 2017 15.7 版發行


重要

Visual Studio 2017 15.7 版資訊安全諮詢注意事項


15.7 中值得注意的新功能

15.7 中修正的常見問題

這些是 15.7 中已解決的客戶回報問題:

查看 Visual Studio 2017 15.7 版中修正的所有客戶回報問題。

The Developer Community Portal


15.7 新功能的詳細資料

Release Notes IconVisual Studio 2017 15.7.0 版

於 2018 年 5 月 7 日發行

15.7 的新功能

效能

  • 在此版本中,我們改善了 C# 和 Visual Basic 專案的解決方案載入時間,平均減少了 20%。
  • 在大型 .NET Core 專案中,我們減少載入 IntelliSense 的時間 25%。
  • 在 Git 中切換分支時,不需要重新載入方案和專案即已移除強制回應進度對話方塊。

安裝 Visual Studio

  • 更新對話方塊提供您更新的詳細資料,例如新增功能、下載大小和最新更新版本。
  • 已改善儲存體驗:在您 更新 Visual Studio 之前,會在本機儲存所有暫止的變更,再開始更新。 更新對話方塊將會顯示 [Save All & Update] \(全部儲存並更新\) 按鈕,而非 [立即更新]
  • 我們已將下載快取、共用元件、一些 SDK 和工具移至不同磁碟機,來減少系統磁碟機上的安裝使用量 (圖 1)
Install Locations
(圖 1) 選擇安裝位置

您有三個位置可以管理,而這些位置只能透過第一次安裝來設定:

  • Visual Studio 核心產品:這個位置供專屬於您選取的 Visual Studio 安裝版本檔案使用。
  • 下載快取:安裝檔案和資訊清單將會下載至此位置。 如果您取消核取此核取方塊來決定不保留下載快取,則請在安裝完成之後移除檔案。
  • 共用元件、工具和 SDK:此位置適用於並存 Visual Studio 安裝所共用的檔案。

注意

若工具和 SDK 對於其安裝位置有不同的規則,就不會安裝到這部磁碟機。 會優先採用工具/SDK 特定規則。

注意

使用者可以停用套件快取,以及設定位置。

Visual Studio IDE

指出哪一個長時間執行的作業讓 Visual Studio 忙碌的對話方塊視窗 (圖 2) 現在是可存取的螢幕助讀程式 (例如 NVDA、朗讀程式等等)。 Visual Studio 顯示對話方塊時,螢幕助讀程式會播放音訊提示,指出新資訊會顯示在螢幕上。 在朗讀程式中叫用 [變更檢視] 命令,使用者即可閱讀對話方塊的內容,或與可用的 [取消] 按鈕互動。

Wait dialog
(圖 2) 載入中的對話方塊視窗,螢幕助讀程式現已可使用

注意

如需完整朗讀程式支援,您必須使用 Windows 10 Redstone 4 (RS4) 組建。

Visual C++ 的改善

  • 此版本包含 PDB 檔案中本機資訊洩漏弱點的修正,如 CVE-2018-1037 中所述。
  • C5045 是新的編譯器診斷,可讓您查看編譯器已插入 Spectre 降低的程式碼模式。
  • Visual Studio 的配套 CMake 安裝已經從 3.10 升級至 3.11。
  • CMake 專案支援 C++ 程式碼的靜態分析 (例如 VCXProj)。
  • MSVC 支援 C++17 功能 P0426R1 "constexpr for std::char_traits",以讓 std::string_view 在編譯時間更為實用。
  • 在每個單元測試上方使用 CodeLens 執行、偵錯和檢視測試狀態(圖 3)
Use CodeLens above each of your unit tests
(圖 3) 在每個單元測試上方使用 CodeLens
  • 我們更新了 C++ 的 Visual Studio iOS 開發工具,可搭配 Xcode 9 使用。
  • 我們已將 /analyze:ruleset 選項新增至 cl.exe,根據規則集組態篩選來減少 C++ Code Analysis 工具中的訊息。 這會導致獨立叫用編譯器與 IDE 之間的一致體驗,並且透過只執行規則集中所提及的規則來改善效能。
  • 繼承建構函式的運作方式現在與繼承任何其他基底類別成員相同。 先前,做法是宣告委派給原始的新建構函式;運用這項變更,衍生類別中會出現基底類別建構函式,就像它們是衍生類別建構函式一樣,進而改善 C++ 中的一致性。
  • 設計成採用任何型別作為非型別參數的範本,現在可以使用範本參數清單中的 auto 關鍵字。 這允許具現化使用任何型別,而不需要在具現化時判斷和提供範本參數型別。
  • 現在支援 std::launder
  • 在幾乎所有情況下,兩階段名稱查閱都會正確地運作。 未來的更新會修正一些邊緣情況 (例如多載運算子的非依存函式呼叫)。
  • MSVC 編譯器工具組符合 C++ 17 標準。 使用 /Zc:__cplusplus 參數編譯時,__cplusplus 巨集的值會反映正確的標準版本號碼。
  • Visual C++ 執行階段支援針對 Spectre 變體 1 的弱點降低。 工具組包含降低和非降低版本的 DLL。 在 [程式碼產生] 屬性頁中啟用「Spectre 降低」功能也會連結至降低版本的 DLL。 Visual C++ 小組部落格提供 Spectre 降低的詳細資訊
  • 在非最佳化組建 (/Od) 中啟用 Spectre 降低的編譯器支援。
  • 現在預設會啟用 /Zf 參數,以在使用多個編譯處理序時更快速地產生 PDB。
  • 我們大幅改善了 /await 的程式碼產生。 我們已重新實作程式碼產生器中的協同程式來改善可靠性,並修正大量的 Bug。
  • CMake 目標檢視提供一種替代方式,在 [方案總管] 中檢視 CMake 專案來源;與資料夾型檢視不同,它會將程式碼組織為個別 CMake 目標 (圖 4)。 組織類似 CMake "Visual Studio" 產生器所建立之專案和方案檔的組織。
CMake Targets View
(圖 4) CMake 目標檢視
  • 透過 CMake 功能表,或以滑鼠右鍵按一下方案總管中的原始程式檔,即可個別建置 CMake 專案所屬的原始程式檔 (.cpp)。
  • 導致標記剖析錯誤的未知巨集現在會加上綠色波浪線底線。 提供快速動作,以自動將巨集新增至 C++ Hint 檔案來解決此問題。 按一下 [專案] 功能表上的 [Display Tag Parser Errors ] \(顯示標記剖析器錯誤\),即可列出解決方案或資料夾中的所有標記剖析錯誤。
  • 在 [開啟資料夾] 中,使用快速動作將標頭新增至 CppProperties.json include 路徑。
  • 現在會自動下載 Linux 和 Unix 這類系統的標題,以供 Windows 上的 IntelliSense 使用。 這些也用來提供 Linux 原生平台開發的增強 IntelliSense 體驗。
  • 我們已新增五個新規則來強制執行 C++ Core Guidelines 中有關使用 Guidelines Support Library 的項目。
  • 我們允許彙總型別中的公用基底類別,因此它們是使用彙總初始化語法進行初始化,而不需要撰寫未定案建構函式。 在以括弧括住的初始設定式清單中,會先初始化基底,後面接著資料成員。
  • 將函式的樣板引數推斷延伸至範本類別的建構函式;當您建構類別範本時,不再需要指定引數。
  • C++17 已變更限定性條件轉換的定義。 先前,這些在多層級指標與混合指標之間是允許的,因此通常可以在第一個層級以外的層級新增限定詞;不過,這不會同樣地套用至陣列。
  • 針對先前遺留給編譯器實作詳細資料 (例如,成員存取、指派和陣列索引) 的主要 C++ 運算子,精簡運算式評估順序
  • 擴充 using 宣告以支援 variadic 基底類別成員的套件擴充語意,然後用於衍生類別內。
  • 我們現在已完成運算式 SFINAE 的完整實作,並且已進行對應的「標準範本程式庫」變更。
  • 我們已實作符合 ISO C++17 標準的平行演算法。 如需詳細資訊,請參閱位於 [VSInstallDir]\VC\Tools\MSVC\<ver>\include\yvals.h 的原始程式檔。
  • 在 /std:c++17 模式中,警告層級 C4834 (「捨棄屬性為 'nodiscard' 之函式的傳回值」) 已從 W3 增加至 W1。 此外,編譯器現在可以推斷以 auto 宣告之非型別範本引數的型別。
  • 使用 /Debug:fastlink PDB 偵錯大型方案更加强固。 PDB 的變更可降低延遲,並將 VS 偵錯工具中的堆積記憶體耗用量減少 30%。
  • C++ Core Check 現在是原生程式碼分析之預設工具組的一部分。 只要對專案執行程式碼分析,除了預設建議規則之外,還會從 C++ Core Check 啟用規則子集。
  • 我們已新增 Linux 專案的平行編譯支援,這可能會大幅改善建置時間。 您可以透過 [屬性頁] > [C/C++] > [平行編譯作業數目上限] 予以啟用。
  • 已新增 [公用專案 Include 目錄] Linux 專案屬性來改善 Linux 方案中專案對專案參考之 Include 的使用。
  • 我們已新增 IDE 中 C++ 開發人員的 ClangFormat 支援。 與 EditorConfig 類似,您可以使用 ClangFormat 在您鍵入時自動設定程式碼的樣式和格式,在某種意義上,可以在您的開發小組之間強制執行。

C# 編譯器

除了錯誤修正之外,此版本還提供下列 C# 7.3 功能:

Python

  • 您可以滑鼠右鍵按一下專案,並選取 [Python] > [MyPy],以在專案上執行 MyPy。 MyPy 將根據型別提示來檢查程式碼,而且任何偵測到的型別錯誤都會顯示在錯誤清單中。
  • 您可以建立和使用 Conda 環境,以及使用 pip 或 Conda 管理 Conda 環境的套件。
  • Anaconda 5.1.0 版現在可以從 Visual Studio 安裝程式提供,而且預設會在選取資料科學工作負載時安裝。
  • 我們已根據熱門開放原始碼 pydevd 偵錯工具新增 Python 偵錯工具 ptvsd 4.0 版本的選擇加入。 「選擇加入」可提升應用程式掃描的效能偵錯速度,啟用方式是勾選 [工具] > [選項] > [Python] > [實驗性] 中的 [使用實驗性偵錯工具]
  • 如需使用偵錯工具、Conda、MyPy 和型別提示的詳細資訊,請參閱 Visual Studio 15.7 中的 Python 部落格文章

Visual Studio Tools for Xamarin

這個版本包含 Xamarin.Android 8.3Xamarin.iOS 11.10

自動 Android SDK 管理

載入 Xamarin.Android 專案時,Visual Studio 可以判斷電腦是否遺漏專案所使用的 Android API 層級,並且在背景自動安裝它。 若要啟用此功能,請移至 [工具] > [選項] > [Xamarin] > [Android 設定] > [自動安裝 Android SDK]

改善的 XAML IntelliSense

使用 Visual Studio 2017 15.7 版的 Xamarin.Forms 開發人員將會注意到大幅改善的 IntelliSense 體驗 (圖 5)。 Xamarin.Forms XAML 編輯體驗現在採用提供 WPF 和 UWP 的相同 IntelliSense 引擎技術。 這會啟用開發人員的許多增強功能,包含改善的比對、燈泡建議、程式碼瀏覽、進行 lint、資源完成和標記延伸完成。

Xamarin.Forms XAML editing experience
(圖 5) Xamarin.Forms XAML 編輯體驗
條件式 XAML 的工具增強功能

XAML 編輯器提供 IntelliSense 來編寫條件式 XAML。 使用不存在於您應用程式之目標最小版本的型別時,XAML 編輯器現在不僅會發出警告,還會提供數個選項進行修正。

自動 iOS 佈建

我們已進行 iOS 裝置佈建,讓開發更為簡單 (圖 6)。 在 Visual Studio 2017 15.7 版中,具有流暢的體驗可要求開發憑證、產生簽章金鑰、在開發人員中心內新增裝置,並建立佈建設定檔,而且只要按一下按鈕就可以完成所有這些作業。 所有難度較高的 iOS 裝置佈建都會在 30 秒內為您處理。

iOS & Android Project Templates Image
(圖 6) 使用自動 iOS 佈建功能,讓佈建 iOS 應用程式更為簡單。
Android SDK 管理

找出哪些針對進行行動裝置開發所安裝的 Android SDK 最為耗時。 Visual Studio 2017 15.7 版新增可管理 Android SDK 安裝的 Android SDK 管理員。 在開啟未安裝 SDK 而無法加以建置的專案之後,系統會出現提示,協助您下載必要的 SDK。 按一下 [Download & Install] \(下載並安裝\) 並接受相關的授權合約之後,會自動在背景中為您安裝正確的 SDK。

新的 iOS & Android 專案範本

無論您是剛入門或經驗豐富的 Xamarin 開發人員,專案範本都是應用程式建置旅程的重要部分。 您應該可以輕鬆地找到它們,而且它們可讓您成功進行 (圖 7)。 在此版本中,我們已完成重建 iOS 和 Android 原生專案範本,以取得較佳的探索能力並支援新式瀏覽模式 (例如飛出視窗或底部索引標籤)。

iOS & Android Project Templates
(圖 7) 輕鬆地找到並設定 iOS & Android 專案範本
安裝的改善

Visual Studio 安裝程式隨附於已更新的 Android SDK 組態 (包含 Android API 27 和 Android SDK Tools 26)。 這包含快速開機支援,以在五秒內啟動 Android 模擬器。

此外,我們已包含 Android Device Manager 作為使用 .NET 工作負載進行 Mobile 開發的一部分,輕鬆地建立、編輯和刪除模擬器。

.NET 生產力改善

  • 使用「快速動作和重構」 (Ctrl+.) 以:
    • for 轉換成 foreach,反之亦然。
    • 將私用欄位設為 readonly
  • LINQ 查詢子句和解構現在支援 [移至定義] (F12)。
  • 使用 Ctrl+.,切換 var 與明確型別,而不論程式碼樣式喜好設定為何。
  • [快速諮詢] 會顯示 Lambda 和區域函式的擷取,讓您可以查看哪些變數是在範圍內。
  • 變更簽章重構 (簽章時 Ctrl+.) 適用於本地函式。
  • 您可以就地編輯 .NET Core 專案檔,以開啟包含資料夾、還原索引標籤,並且完整支援其他編輯器功能。 IDE 變更 (例如新增連結的檔案) 將會與編輯器中的未儲存變更合併。

測試

  • Live Unit Testing 可使用內嵌 pdb 以及指定 /deterministic 的 pdb。
  • 我們為使用參考組件的專案新增了 Live Unit Testing 支援。
  • 測試清單編輯器在測試執行期間有更多回應圖示。 進行測試回合時,目前執行中測試的旁邊會出現進度環,暫止執行的測試則會出現時鐘圖示。

Web 工具

  • ASP.NET Web 應用程式專案範本已經更新成較新版本的相依套件。
  • 您可在 Linux 上將非容器化應用程式發佈至 Azure App Service。
  • 連結以在 Cloud Explorer 的 [發行摘要] 頁面中開啟 Azure App Service。
  • 您可取得發佈 .NET Core 架構相依和獨立應用程式的支援。
  • 將 F# 應用程式的支援發行至 App Service 和資料夾。
  • 我們已新增直接在 IIS Express 處理序中裝載 ASP.NET Core 應用程式的支援。
  • 您可以建立儲存體帳戶,並提供在發佈至新的 Azure App Service 時,要儲存在 App Service 設定中的連接字串名稱。
  • 我們已在偵錯期間改善 Kestrel HTTPs 支援。
  • ASP.NET Core 應用程式支援專案屬性 [應用程式 URL] 欄位中有多個分號分隔的值。 此欄位中出現多個 URL 時,會使用第一個 URL 來啟動瀏覽器。
  • 透過命令列 (即將提供 GUI 支援) 提供稱為「身分識別」的新框架,以將身分識別管理 UI 新增至 ASP.NET Core 2.1 應用程式。
  • ASP.NET 和 ASP.NET Core 專案可以設定 "Key Vault" 連線服務,來建立 Azure Key Vault,並在 IDE 內建立它與其 Web 應用程式的關聯。
  • 當 ASP.NET 或 ASP.NET Core 應用程式相依於 Azure Key Vault 時,如果應用程式無法使用在 [工具] > [選項] > [Azure 服務驗證] 下選取的帳戶,在執行階段從開發人員的電腦存取該 Key Vault,錯誤清單中就會出現錯誤。 這會縮短探索和更正權限或帳戶問題的時間,並避免在執行階段發生應用程式失敗。
  • Web 應用程式使用所選取 ASAL 使用者帳戶沒有存取權的 KeyVault 時,[錯誤清單] 中現在會出現警告。

Visual Studio 2017 Build Tools

Azure、UWP 和其他工作負載支援

Visual Studio 2017 Build Tools 支援大部分 Visual Studio 專案的命令列組建。 支援的專案包含:ASP.NET、Azure、C++ Desktop、ClickOnce、容器、.NET Core、.NET Desktop、Node.js、Office 和 SharePoint、Python、TypeScript、Unit Tests、UWP、WCF 以及 Xamarin。 我們預期未來版本會新增 SQL 的支援。 Visual Studio Build Tools 現在也支援在容器內安裝。 您可以從 Visual Studio 下載下載 Visual Studio Build Tools。 您可在 Visual Studio Build Tools 2017 元件目錄中找到一組工作負載與元件識別碼,來自訂您的容器映像。

注意

Build Tools 需要 Visual Studio 2017 的授權。

Visual Studio 2017 Build Tools 中的 UWP 支援

Visual Studio Build Tools 可讓您建立組建伺服器,而不需要安裝完整的 Visual Studio。 為了回應客戶的要求,我們會持續強化 Visual Studio Build Tools 以支援其他專案類型。 這些專案類型包含 UWP 工具,為 ASP.NET、Azure、C++ Desktop、ClickOnce、容器、.NET Core、.NET Desktop、Node.js、Office 和 SharePoint、Python、TypeScript、Unit Tests、UWP、WCF 以及 Xamarin 提供支援。 我們預期未來版本會新增 SQL 的支援。

通用 Windows 平台開發人員工具

  • 具有 XAML 設計工具最新更新的 Blend 提供視覺狀態管理和動畫工具。 所有 UWP 開發人員都可以存取這些工具。 此外,XAML 的編輯與繼續可支援編輯視覺效果狀態和動畫。
  • Windows Machine Learning automatic code generation (Windows Machine Learning 自動程式碼產生) 支援允許將 ONNX 模型檔案新增為專案中的現有項目,來產生 WinML 包裝函式類別。
  • Windows 10 April 2018 Update SDK (組建 17134) 是 Visual Studio 中通用 Windows 平台開發工作負載的預設 SDK。
  • 您可以使用 C# 和新的「選擇性程式碼套件」專案範本,在選擇性套件中建立具有程式碼執行的相關集合
  • 使用新的「套件配置」項目範本,您可輕鬆地建構一般套件搭售方案

APPX 套件中的 AppInstaller 支援

通用 Windows 平台允許使用稱為「側載」的機制,在不使用 Microsoft Store 的情況下散發應用程式。 此版本可讓您產生 appinstaller 檔案,以從 APPX 型部署取得自動更新。 深入了解基礎技術

NuGet (英文)

TypeScript 和 JavaScript

TypeScript 2.8 RC 現在隨附於 Visual Studio 2017 15.7 版。
此版本提供下列改善:

  • jsconfig.json 支援,此檔案可以協助控制您的編輯器選項,就像 tsconfig.json 一樣。
  • 透過關閉未開啟檔案的型別檢查來減少資源使用量的選項。
    • 這是 [工具] > [選項] > [TextEditor] > [JavaScript/TypeScript] > [專案] 下方的 [僅限編輯器中已開啟檔案的報告診斷] 選項。
  • TypeScript 和 JavaScript 使用者的新編輯功能
    • 在檔案內套用所有快速修正。
    • 組織匯入。
    • 類別中的 this. 以及 JSX 中的大括弧的完成。
  • TypeScript 2.8 功能:
    • 條件式型別 (A extends B ? C : D)。
    • 新的 lib.d.ts 條件式型別協助程式,例如 NonNullableReturnTypeExtractExclude
    • 已對應型別中修飾詞的細微控制。
    • 使用新 // @jsx pragma 之檔案內 JSX Factory 的控制項。

您可以在 TypeScript 2.8 RC 部落格中深入了解 TypeScript 2.8。

  • TypeScript 2.7 功能:
    • 嚴格屬性初始設定。
    • 數值分隔符號。
    • 更聰明的型別成立條件。

您可以在 TypeScript 2.7 部落格中深入了解 TypeScript 2.7。

我們也已修正客戶所引發的一些常見問題,包括過早觸發程式碼片段、無法取消重構、很難啟用格式化,以及不正確的 TypeScript 版本選取項目。

注意

這些改善採用 TypeScript 2.8 技術。 為獲得最佳的體驗,請將現有專案更新為最新的 TypeScript 版本。

使用 Microsoft Edge 的 JavaScript 偵錯

Windows Insider 組建上的 Visual Studio ASP.NET 和 .NET 核心開發人員可以設定中斷點,並使用 Microsoft Edge 瀏覽器對其 JavaScript 檔案進行偵錯。 以 Microsoft Edge 瀏覽器為目標時,Visual Studio 會使用 Microsoft Edge 小組所開發的新 Edge DevTools 通訊協定。 開發人員可以使用 Microsoft Edge 和 Google Chrome 瀏覽器偵錯並修正 Visual Studio 中的 JavaScript 問題。 我們很高興我們的客戶啟用這個經常要求的功能。 我們希望聽取您對功能的意見反應,協助我們改善並建置更好的 Visual Studio。

偵錯和診斷

此版本新增來源連結的 VSTS 和 GitHub 驗證支援。 如果可以透過 IDE 進行驗證,則會自動新增來源連結要求的驗證。 如果使用者尚未通過驗證,則會顯示登入 UI 以啟用驗證。

支援使用 IntelliTrace 的回溯偵錯功能對 .NET Core 專案進行偵錯。

  • 若要啟用這項功能,請移至 [工具] > [選項] > [IntelliTrace 設定],然後選取 [IntelliTrace 事件與快照集] 選項。
  • IntelliTrace 的回溯偵錯功能支援在例外狀況發生時製作快照集。 若要啟用此功能,請前往 [工具] > [選項] > [IntelliTrace 設定],然後選取選項 [IntelliTrace 事件與快照](圖 8)
Snapshot on exception
(圖 8) 例外狀況時的快照集

啟動指令碼偵錯工具並將其附加至 ASP.NET 專案的 Microsoft Edge

您可以在使用 Google Chrome 作為您選擇的瀏覽器時,直接在 Visual Studio 中偵錯 JavaScript 和 TypeScript。 您只需要在 Visual Studio 中選取 Chrome 作為您的瀏覽器,然後按 F5 鍵,即可進行偵錯。 如需其他資訊,請參閱 Client-side debugging of ASP.NET projects in Google (ChromeGoogle Chrome 中 ASP.NET 專案的用戶端偵錯)。

Team Explorer

在 [Team Explorer] 的 [Git 設定]、[全域設定] 中,有選項可以選擇 OpenSSL 或安全通道。 預設值是 OpenSSL。

適用於 6.2 Service Fabric 版本的 Service Fabric 工具

適用於 Service Fabric 6.2 版本的 Service Fabric Tools 可為 6.2 執行階段與 3.1 SDK 提供相容性支援。 其中包括數項 Bug 修正,以及一項可將容器支援新增至現有 ASP.NET 或主控台專案的新功能。 .NET Framework 與 .NET Core 2.0 專案均享有透過新的 [新增協調流程] 操作功能表與對話方塊所提供的支援。 這些專案在新增 Service Fabric 協調流程支援後,就能在本機 Service Fabric 叢集上對其進行遠端部署與偵錯。

Entity Framework 工具改善

F# 和 F# 工具改善

我們已對 F# 及其工具實作多項改善。 效能和清除現有 .NET SDK 樣式專案體驗已是此版本的焦點。 一如往常,我們也會收到令人讚嘆之 F# 社群的大量參與。

F# 編譯器和核心程式庫改善
  • 使用 .NET SDK 中的 F# 編譯器,啟用產生 F# AssemblyInfo 表單屬性。
  • 在 Windows 上,F# .NET Core 編譯器支援 --debug:full
  • 結構元組支援 MakeTuple
  • 現在可解析使用元組之擴充方法時的不必要警告
  • MailboxProcessor.PostAndAsyncReply 在父處理序取消時會正確地處理取消作業。
  • 使用 NonStructuralComparison 時,float32 可別的相等性現在正確。
  • 現在搜尋方法多載時會轉送警告,作者 Matthias Dittrich
  • 在列舉上進行模式比對時發出警告的改善以發出不相符列舉的範例,作者 John Wostenberg
F# 工具改進
  • 已大幅縮減 F# 編譯器服務中的記憶體使用量,作者 Avi Avni 和 Microsoft。
  • 大幅提升 Unused Open Analyzer 在開啟時的效能。
  • 改善 F# 分析器和程式碼修正開啟時的回應性,因此錯誤診斷的優先順序一律高於其餘項目。
  • 我們新增了適用於 F# 的 ASP.NET Core 範本。
  • 在貼入檔案的範圍頂端,.NET SDK 專案資料夾中已貼入檔案的初始順序現在已正確。
  • 沒有專案檔的 F# 指令碼會在按 Alt+Enter 時將程式碼正確地傳送至 F# Interactive。
  • F# 清單的偵錯工具檢視已從 50 個項目延伸到 5000 個項目。
  • 傳統 F# 專案 (僅限 .NET Framework) 也會執行設計階段組建,以減少解決方案載入時間。
  • 現在可以在 [設定] > [文字編輯器] > [F#] > [進階] 下方切換 [結構化方針] 和 [大綱] 檢視。
  • F# 編譯器服務現在會傳回組件層級屬性。
  • 我們已將 Entity.DeclaringEntity 新增至 F# 編譯器服務。
  • 可以透過 F# 編譯器服務 API 進行最佳化,作者 Steffen Forkmannncave
  • GetDeclarationLocation 不再需要檔案來提供正確資料的結果,作者 amieres
  • F# 符號 API 現在提供 IsNameGenerated,作者 Eugene Auduchinok
F# 基礎結構改善
  • Mono 組建不再需要 autoconf
  • 所有 Visual Studio 整合專案現在使用 .NET SDK。
  • [說明] > [關於 Microsoft Visual Studio] 現在會提供工具組建的認可雜湊。

若要查看此版本引進的完整認可記錄,請參閱 15.7 發行標記


---

Release Notes Icon Visual Studio 2017 15.7 版資訊安全諮詢注意事項

Visual Studio 2017 15.7.6 版資訊安全諮詢注意事項 -- 於 2018 年 8 月 2 日發行

CVE-2018-8356 .NET Core 安全性功能略過弱點

Microsoft 察覺到在 .NET Core 未正確驗證憑證時,會出現安全性功能許可的弱點。 成功惡意探索這個弱點的攻擊者可能會在查問時提供過期的憑證。 此更新修正了 .NET Core 處理憑證驗證的方式,進而解決此弱點。

Visual Studio 2017 15.7.5 版資訊安全諮詢注意事項 -- 於 2018 年 7 月 10 日發行

CVE-2018-8172 Visual Studio 遠端程式碼執行弱點

這是一種遠端程式碼執行弱點。它可以開啟特地設計的專案或資源檔,以惡意探索使用者電腦。 此安全性更新會修正 Visual Studio 檢查檔案來源標記的方式,藉以解決此弱點。

CVE-2018-8260 .NET Framework 遠端程式碼執行弱點

這是存在於 .NET 軟體中的一個遠端程式碼執行弱點。它允許攻擊者在目前使用者的內容中執行任意程式碼,從而導致惡意探索使用者的電腦。 此安全性更新會修正 .NET 檢查檔案來源標記的方式,藉以解決此弱點。

CVE-2018-8232 .NET Microsoft 巨集組譯工具篡改弱點

Microsoft 巨集組譯工具未能正確驗證程式碼的相關篡改漏洞。 此安全性更新會確保 Microsoft 巨集組譯工具能正確驗證程式碼邏輯,藉以解決此弱點。

CVE-2018-8171 ASP.NET Core 安全性功能略過弱點

當未驗證不正確的登入嘗試次數而導致攻擊者得以無限嘗試驗證時,便是存在 ASP.NET Core 安全性功能略過弱點。 此更新會驗證不正確的登入嘗試次數,藉以解決此弱點。

Visual Studio 2017 15.7.4 版資訊安全諮詢注意事項 -- 於 2018 年 6 月 18 日發行

CVE-2018-11235 Git 安全性弱點的 Microsoft 資訊安全諮詢

我們已修正 Git 社群所揭露 \(英文\) 的 Git 安全性弱點。 此弱點可能會在使用者複製惡意存放庫時,導致執行任意程式碼。

Visual Studio 2017 15.7.1 版資訊安全諮詢注意事項 -- 於 2018 年 5 月 8 日發行

CVE-2018-0765 .NET Core 拒絕服務弱點的 Microsoft 資訊安全諮詢

Microsoft 發佈此資訊安全諮詢的目的,是提供 .NET Core 與 .NET 原生版本 2.0 中有關弱點的資訊。 此諮詢也提供了指導,讓開發人員了解如何才能正確地更新應用程式來移除此弱點。 Microsoft 注意到 .NET Framework 和 .NET Core 未正當處理 XML 文件時,會產生服務阻斷弱點。 成功惡意探索此弱點的攻擊者可能會使 .NET Framework、.NET Core 或 .NET 原生應用程式發生服務阻斷。 本更新會修正 .NET Framework、.NET Core 和 .NET 原生應用程式處理 XML 文件的方式,進而解決該弱點。 若您的應用程式為 ASP.NET Core 應用程式,則我們也建議開發人員更新至 ASP.NET Core 2.0.8。


Release Notes IconVisual Studio 2017 15.7.1 版

於 2018 年 5 月 8 日發行

15.7.1 中修正的常見問題

這些是 15.7.1 中已解決的客戶回報問題:

  • 此版本包含可在載入解決方案期間減少記憶體使用率和 GC 壓力的修正。

Release Notes IconVisual Studio 2017 15.7.2 版

於 2018 年 5 月 21 日發行

15.7.2 中修正的常見問題

這些是 15.7.2 中已解決的客戶回報問題:


Release Notes IconVisual Studio 2017 15.7.3 版

於 2018 年 5 月 31 日發行

15.7.3 中修正的常見問題

這些是 15.7.3 中已解決的客戶回報問題:


Release Notes IconVisual Studio 2017 15.7.4 版

於 2018 年 6 月 18 日發行

15.7.4 中修正的常見問題

這些是 15.7.4 中已解決的客戶回報問題:


Release Notes IconVisual Studio 2017 15.7.5 版

於 2018 年 7 月 10 日發行

15.7.5 中修正的常見問題

這些是 15.7.5 中已解決的客戶回報問題:


Release Notes IconVisual Studio 2017 15.7.6 版

於 2018 年 8 月 2 日發行

15.7.6 的更新摘要

這個版本包含下列改進與加強:

  • 這個版本現在會安裝 Java™ Development Kit 8,Update 181 (JDK 8u181 版)。

15.7.6 中修正的常見問題

這些是 15.7.6 中已解決的客戶回報問題:


已知問題

歡迎您提供意見反應。 請前往Developer Community (開發人員社群) 網站,以尋找最新問題、記錄新問題及附議現有問題。 查看 Visual Studio 2017 15.7 版中所有現有的已知問題和可用的因應措施。

Visual Studio 2017 Known Issues


意見反應與建議

我們很希望聽聽您的意見! 若有任何問題,請透過安裝程式或 Visual Studio IDE 本身右上角的回報問題選項來通知我們。 Report a Problem Icon 圖示位在右上角。 您可以在 Visual Studio 開發人員社群中提出產品建議或追蹤您的問題,也可以提出問題、尋找解答及提議新功能。 您也可以透過我們的即時聊天支援取得免費的安裝協助。


部落格

善用「開發人員工具部落格」網站中的見解與建議,讓您能夠隨時取得所有新版本的最新資訊,以及涵蓋各類功能的深入探討文章。

Developer Tools Blogs


Visual Studio 2017 版本資訊歷程記錄

如需舊版 Visual Studio 2017 的詳細資訊,請參閱 Visual Studio 2017 版本資訊歷程記錄頁面。


頁首