Visual 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 15.7 Preview 1
- Visual Studio 15.7 Preview 2
- Visual Studio 15.7 Preview 3
- Visual Studio 15.7 次要版本 -- 閱讀最新部落格文章!
Visual Studio 2017 15.7 版發行
- 2018 年 8 月 2 日 -- Visual Studio 2017 15.7.6 版維護更新
- 2018 年 7 月 10 日 - Visual Studio 2017 15.7.5 版維護更新
- 2018 年 6 月 18 日 -- Visual Studio 2017 15.7.4 版服務更新
- 2018 年 5 月 31 日 - Visual Studio 2017 15.7.3 版維護更新
- 2018 年 5 月 21 日 - Visual Studio 2017 15.7.2 版維護更新
- 2018 年 5 月 8 日 - Visual Studio 2017 15.7.1 版服務更新
- 2018 年 5 月 7 日 - Visual Studio 2017 15.7.0 版次要版本
重要
Visual Studio 2017 15.7 版資訊安全諮詢注意事項
- 2018 年 8 月 2 日 -- Visual Studio 2017 15.7.6 版資訊安全諮詢注意事項
- 2018 年 7 月 10 日 - Visual Studio 2017 15.7.5 版資訊安全諮詢注意事項
- 2018 年 6 月 26 日 - Visual Studio 2017 15.7.4 版資訊安全諮詢注意事項
- 2018 年 5 月 8 日 - Visual Studio 2017 15.7.1 版資訊安全諮詢注意事項
15.7 中值得注意的新功能
- 我們已新增變更安裝位置的支援。
- 您可以先儲存所有暫止的變更,再開始更新。
- 更新對話方塊甚至提供安裝期間更多有關更新的詳細資料。
- C# 7.3 隨附於 Visual Studio 15.7 版。
- 我們已改善 C# 和 Visual Basic 專案的解決方案載入時間。
- 我們已對 F# 和其工具進行數個更新,並且著重於效能。
- 針對大型 .NET Core 專案啟用 IntelliSense,已減少時間 25%。
- 我們已對快速諮詢進行了改善,並提供新的 .NET 重構功能,例如將
for
轉換至foreach
,且能賦予私人欄位readonly
屬性。 - 我們新增了不必使用容器,就能將 ASP.NET 應用程式發佈至 App Service Linux 的功能。
- Live Unit Testing 與內嵌 pdb 相容,且支援使用參考組件的專案。
- 測試清單編輯器在測試執行期間有更多回應圖示。
- C++ 開發人員可使用 CodeLens 來進行單元測試。
- 我們已新增規則來強制執行 C++ Core Guidelines 中的項目。
- 使用 /Debug:fastlink PDB 偵錯大型方案更加强固。
- CMake 整合支援 CMake 3.11 和靜態分析。
- Python 專案支援 IntelliSense 中的型別提示,並且新增「執行 MyPy」命令來尋找您程式碼中的鍵入錯誤。
- 在 Python 專案中支援 Conda 環境。
- 我們已根據熱門開放原始碼 pydevd 偵錯工具新增下一版的 Python 偵錯工具。
- TypeScript 2.8 隨附於 Visual Studio 15.7。
- 我們已在偵錯期間改善 Kestrel HTTPs 支援。
- 我們新增了 利用 Microsoft Edge 進行 JavaScript 偵錯。
- 偵錯工具支援 VSTS 和 GitHub 來源連結的驗證。
- 支援使用 IntelliTrace 的回溯偵錯功能對 .NET Core 專案進行偵錯。
- 我們新增了 IntelliTrace 在例外狀況發生時製作快照集的支援。
- 我們已在不需要重新載入方案或專案時,從 Git 中的分支簽出移除封鎖強制回應對話方塊。
- 您可在 Git 中選擇 OpenSSL 或 SChannel。
- 您可在 Visual Studio IDE 內建立 Azure Key Vault,並與之建立關聯。
- Visual Studio Tools for Xamarin 可以自動安裝 Xamarin.Android 需要但缺少的 Android API 層級。
- Xamarin.Forms XAML 編輯器提供 IntelliSense 以及條件式 XAML 的快速修正。
- Visual Studio Build Tools 現在支援容器內安裝,此外我們也新增了建置 Azure、UWP 和其他專案類型的支援。
- 您可以建立建置伺服器而不需要安裝完整的 Visual Studio。
- Windows 10 April 2018 Update SDK - 組建 17134 是通用 Windows 平台開發工作負載的預設必要 SDK。
- 我們已新增所有 UWP 應用程式和其他項目的視覺狀態管理支援。
- 我們已啟用側載 APPX 套件的自動更新。
- 您現可取得移轉至 NuGet PackageReference 的新工具。
- 我們已新增 NuGet 套件簽章支援。
- 我們新增了適用於 6.2 Service Fabric 版本的 Service Fabric 工具。
- 我們已更新 Entity Framework Tools 來使用 EF 6.2 執行階段,以及改善現有資料庫的反向工程。
15.7 中修正的常見問題
這些是 15.7 中已解決的客戶回報問題:
- MFC Class Wizard can't add control member variables (MFC 類別精靈無法新增控制成員變數)。
- Test Explorer intermittently never finishes finding tests (測試總管間歇性永遠不會完成尋找測試)。
- Internal compiler error in VS15.5 (VS15.5 中的編譯器內部錯誤)。
- Visual Studio Build Tools is missing MSBuild Web SDKs (Visual Studio Build Tools 遺漏 MSBuild Web SDK)。
- VS2017 deployed Git doesn't support self-signed certs (VS2017 已部署 Git 不支援自我簽署憑證)。
- Visual Studio hangs during NuGet package update (在 NuGet 套件更新期間,Visual Studio 停止回應)。
- Visual Studio Installer shows "unsupported command" after update (Visual Studio 安裝程式會在更新之後顯示「不支援的命令」)。
- Visual Studio installation hangs at "Waiting for Microsoft.VisualStudio.Graphics.EnableTools" (Visual Studio 安裝在「等待 Microsoft.VisualStudio.Graphics.EnableTools」時停止回應)。
- XAML designer doesn't recognize Visual State, throws "Windows 10 Fall Creators Update (10.0; Build 16299)" error (XAML 設計工具無法辨識視覺狀態,擲回「Windows 10 Fall Creators Update (10.0;組建 16299)」錯誤)。
- The automatic formatting in Razor (cshtml) breaks on paste (Razor (cshtml) 中的自動格式化在貼上時中斷)。
- No diagnostic on invalid member initialization since MSVC 14.12 (自 MSVC 14.12 之後,不會診斷無效的成員初始化)。
- Static resource defined in ThemeDictionaries not fetched while edit a copied template for custom control (編輯自訂控制項的已複製範本時,不會擷取 ThemeDictionaries 中所定義的靜態資源)。
- [新增檔案] -> [線上範本] "baseName 空字串" 產生非嚴重錯誤。
- Microsoft.Alm.Shared.Remoting.RemoteContainer.dll generates high CPU usage (Microsoft.Alm.Shared.Remoting.RemoteContainer.dll 產生高 CPU 使用率)。
- Razor cshtml helper format is not done incorrectly (未正確設定 Razor cshtml 協助程式格式)。
查看 Visual Studio 2017 15.7 版中修正的所有客戶回報問題。
15.7 新功能的詳細資料
Visual 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)。
- Visual Studio 核心產品:這個位置供專屬於您選取的 Visual Studio 安裝版本檔案使用。
- 下載快取:安裝檔案和資訊清單將會下載至此位置。 如果您取消核取此核取方塊來決定不保留下載快取,則請在安裝完成之後移除檔案。
- 共用元件、工具和 SDK:此位置適用於並存 Visual Studio 安裝所共用的檔案。
注意
若工具和 SDK 對於其安裝位置有不同的規則,就不會安裝到這部磁碟機。 會優先採用工具/SDK 特定規則。
注意
使用者可以停用套件快取,以及設定位置。
Visual Studio IDE
指出哪一個長時間執行的作業讓 Visual Studio 忙碌的對話方塊視窗 (圖 2) 現在是可存取的螢幕助讀程式 (例如 NVDA、朗讀程式等等)。 Visual Studio 顯示對話方塊時,螢幕助讀程式會播放音訊提示,指出新資訊會顯示在螢幕上。 在朗讀程式中叫用 [變更檢視] 命令,使用者即可閱讀對話方塊的內容,或與可用的 [取消] 按鈕互動。
注意
如需完整朗讀程式支援,您必須使用 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)。
- 我們更新了 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 功能表,或以滑鼠右鍵按一下方案總管中的原始程式檔,即可個別建置 CMake 專案所屬的原始程式檔 (.cpp)。
- 導致標記剖析錯誤的未知巨集現在會加上綠色波浪線底線。 提供快速動作,以自動將巨集新增至 C++ Hint 檔案來解決此問題。 按一下 [專案] 功能表上的 [Display Tag Parser Errors ] \(顯示標記剖析器錯誤\),即可列出解決方案或資料夾中的所有標記剖析錯誤。
- 在 [開啟資料夾] 中,使用快速動作將標頭新增至 CppProperties.json include 路徑。
- 現在會自動下載 Linux 和 Unix 這類系統的標題,以供 Windows 上的 IntelliSense 使用。 這些也用來提供 Linux 原生平台開發的增強 IntelliSense 體驗。
- 我們新增了五項新規則,以執行 C++ Core 指南中,與使用指南支援庫 (英文) 相關的項目。
- 我們允許彙總型別中的公用基底類別,因此它們是使用彙總初始化語法進行初始化,而不需要撰寫未定案建構函式。 在以括弧括住的初始設定式清單中,會先初始化基底,後面接著資料成員。
- 將函式的樣板引數推斷延伸至範本類別的建構函式;當您建構類別範本時,不再需要指定引數。
- 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 功能:
System.Enum
、System.Delegate
和unmanaged
條件約束。- Ref 本機重新指派:可以使用 ref 指派運算子 (
= ref
) 重新指派參考本機和參考參數。 - Stackalloc 初始設定式:可以初始化堆疊配置的陣列 (例如
Span<int> x = stackalloc[] { 1, 2, 3 };
)。 - 編製可移動固定緩衝區的索引:可以編製固定緩衝區的索引,但未先進行釘選。
- 自訂
fixed
陳述式:可以在fixed
陳述式中使用實作適合GetPinnableReference
的型別。 - 改善的多載候選:可以提早排除一些多載解析候選,因而減少模稜兩可。
- 初始設定式和查詢中的運算式變數:欄位初始設定式、建構函式初始設定式和 LINQ 查詢中允許
out var
這類運算式變數以及模式變數。 - 比較:現在可以比較 Tuple 與
==
和!=
。 - 支援欄位上的屬性:允許自動實作屬性上的
[field: …]
屬性,以將目標設為其支援欄位。
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.3 和 Xamarin.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、資源完成和標記延伸完成。
條件式 XAML 的工具增強功能
XAML 編輯器提供 IntelliSense 來編寫條件式 XAML。 使用不存在於您應用程式之目標最小版本的型別時,XAML 編輯器現在不僅會發出警告,還會提供數個選項進行修正。
自動 iOS 佈建
我們已進行 iOS 裝置佈建,讓開發更為簡單 (圖 6)。 在 Visual Studio 2017 15.7 版中,具有流暢的體驗可要求開發憑證、產生簽章金鑰、在開發人員中心內新增裝置,並建立佈建設定檔,而且只要按一下按鈕就可以完成所有這些作業。 所有難度較高的 iOS 裝置佈建都會在 30 秒內為您處理。
Android SDK 管理
找出哪些針對進行行動裝置開發所安裝的 Android SDK 最為耗時。 Visual Studio 2017 15.7 版新增可管理 Android SDK 安裝的 Android SDK 管理員。 在開啟未安裝 SDK 而無法加以建置的專案之後,系統會出現提示,協助您下載必要的 SDK。 按一下 [Download & Install] \(下載並安裝\) 並接受相關的授權合約之後,會自動在背景中為您安裝正確的 SDK。
新的 iOS & Android 專案範本
無論您是剛入門或經驗豐富的 Xamarin 開發人員,專案範本都是應用程式建置旅程的重要部分。 您應該可以輕鬆地找到它們,而且它們可讓您成功進行 (圖 7)。 在此版本中,我們已完成重建 iOS 和 Android 原生專案範本,以取得較佳的探索能力並支援新式瀏覽模式 (例如飛出視窗或底部索引標籤)。
安裝的改善
Visual Studio 安裝程式隨附於已更新的 Android SDK 組態 (包含 Android API 27 和 Android SDK Tools 26)。 這包含快速開機支援,以在五秒內啟動 Android 模擬器。
此外,我們已包含 Android Device Manager 作為使用 .NET 工作負載進行 Mobile 開發的一部分,輕鬆地建立、編輯和刪除模擬器。
.NET 生產力改善
- 使用 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 (英文)
此版本提供根據
packages.config
將現有專案移轉至PackageReference
的預設支援。我們已新增 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
條件式型別協助程式,例如NonNullable
、ReturnType
、Extract
和Exclude
。 - 已對應型別中修飾詞的細微控制。
- 使用新
// @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 events and snapshots] 選項。
- IntelliTrace 的回溯偵錯功能支援在例外狀況發生時製作快照集。 若要啟用此功能,請前往 [工具] > [選項] > [IntelliTrace 設定],然後選取 [IntelliTrace events and snapshots] 選項 (圖 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 工具改善
- Entity Framework 6.2 執行階段支援:在未參考 EF 的專案中建立 EF 模型,現在預設會安裝 EF 6.2 NuGet 套件。
- EF 設計工具和精靈中的各種協助工具改善。
- 使用最新版本的 SQL Server 讓反向工程更為快速.
- 從超過 300 張資料表的 SQL Server 資料庫更新模型的支援。
- Oracle 資料庫上反向工程 UNION 檢視的支援。
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 Forkmann 和 ncave。
GetDeclarationLocation
不再需要檔案來提供正確資料的結果,作者 amieres。- F# 符號 API 現在提供
IsNameGenerated
,作者 Eugene Auduchinok。
F# 基礎結構改善
- Mono 組建不再需要
autoconf
。 - 所有 Visual Studio 整合專案現在使用 .NET SDK。
- [說明] > [關於 Microsoft Visual Studio] 現在會提供工具組建的認可雜湊。
若要查看此版本引進的完整認可記錄,請參閱 15.7 發行標記。
---
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 月 08 日發行
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。
Visual Studio 2017 15.7.1 版
於 2018 年 5 月 8 日發行
15.7.1 中修正的常見問題
這些是 15.7.1 中已解決的客戶回報問題:
- 此版本包含可在載入解決方案期間減少記憶體使用率和 GC 壓力的修正。
Visual Studio 2017 15.7.2 版
於 2018 年 5 月 21 日發行
15.7.2 中修正的常見問題
這些是 15.7.2 中已解決的客戶回報問題:
- 在 15.7,透過巢狀延伸模組在命令列安裝延伸模組的使用者,可能會在安裝時看到錯誤。 這已在 15.7.2 維護版本中解決。
- Anaconda 無法在升級期間解除安裝,並出現問題警告 (錯誤 87).
- SSDT 15.6.0 安裝程式組態登錄機碼無法開啟。
- 編輯 JavaScript 時發生編輯器效能問題。
- Visual Studio 2017 中的程式碼涵蓋範圍功能會略過非同步方法。
- 更新後,
arm/arm64
中缺少atls.lib
。 - 測試清單編輯器不再將先前執行的單元測試標成灰色。
- 即使已停用 JavaScript 偵錯,15.7.1 版還是會在新的 Chrome 執行個體對 .aspx 應用程式偵錯。
- 15.7 編譯器搭配 Folly 時會失敗。
- ASP 專案在關閉網頁後持續執行。
- Chrome Debugger 未正常執行,並顯示錯誤訊息,但偵錯工具按鈕仍可用。 .
- 無法再從 [重構] 功能表上的 [重新命名] 為 Python 重新命名。
- Visual Studio 安裝程式在磁碟空間不足的情況下未正常運作。
- 即使先前未設定,偵錯工具仍連結到瀏覽器。
- 類別範本的範本引數推斷問題。
- C++ constexpr string_view == 無法編譯。
- 使用原生資源之型別提供者 (例如 FSharp.Data.TypeProviders) 中的迴歸已修正。
- 您現在可以從 UI 將檔案新增到 F# ASP.NET Core 專案。
- 接聽 Microsoft-Extensions-Logging 導致 VS 診斷事件視窗與錯誤訊息中斷連線的問題,已在 Service Fabric 工具中修正。
Visual Studio 2017 15.7.3 版
於 2018 年 5 月 31 日發行
15.7.3 中修正的常見問題
這些是 15.7.3 中已解決的客戶回報問題:
- VS2017 編譯器使用 Qt 架構建立損壞的偵錯組建,並產生「對 RtlValidateHeap 指定了無效位址」錯誤 \(英文\)。
- 矩陣乘法的程式碼產生不正確 \(英文\)。
- VS 2017 Update 7:Git 記錄 Codelens 只顯示過去 6 個月的項目 \(英文\)。
- 在 15.7.1 升級之後,UWP 專案會參考多個 NetStandard 2.0 dll \(英文\)。
- 在 VS 15.7 中使用 /std:c++17 以建置 C++ 程式碼時,會破壞 std::_Ptr_move_cat 的二進位相容性 \(英文\)。
- 開啟 XAML 檔案時,Visual Studio 15.7 停滯 \(英文\)。
- CMake 設定失敗,並產生訊息「C++ IntelliSense 資訊可能已過期,請產生 CMake 快取以重新整理」\(英文\)。
- 無法啟動第二個處理序以進行偵錯 \(英文\)。
- 更新為 Visual Studio 15.7.1 之後,某些測試程式因為讀取存取違規,而在啟動期間失敗 \(英文\)。
- 遺漏編譯器所需的成員 'Microsoft.CSharp.RuntimeBinder.Binder.Convert' \(英文\)。
- 15.7.0 更新之後,在使用 .NET 3.5 的舊版專案上建置會失敗 \(英文\)。
- 某些類別成員變數值不正確地被讀取為零 \(英文\)。
- 第一次嘗試開啟 XAML 檔案時,會造成 VS 停在「正在開啟檔案...」訊息 10 分鐘,之後才開啟 XAML 檔案 \(英文\)。
- Visual Studio 變慢然後凍結,造成工作遺失 \(英文\)。
- 目標 "GetBuiltProjectOutputRecursive" 不存在於專案中 \(英文\)。
- 15.7.1 更新之後 lambda C++17 出現內部錯誤 \(英文\)。
- UWP XAML 的開啟速度非常慢 \(英文\)。
- MSVC 自動向量化產生不正確的程式碼或不正確的結果 \(英文\)。
- 當已經啟動新偵錯新執行個體 project2 時,Visual Studio 會關閉偵錯新執行個體 project1 \(英文\)。
- 最新的更新在多個專案的情況下,會使 [啟動但不偵錯] 無法正常運作 \(英文\)。
- UWP XAML 的開啟速度非常慢 \(英文\)。
- 在 15.7.2 和 15.8.0 Preview 1.1 上,XAML 檢視器會凍結 \(英文\)。
- Xamarin UI 測試應用程式專案範本遺失 \(英文\)。
- Xamarin 專案建立的問題 \(英文\)。
- 建立新的行動應用程式 Xamarin 時,Visual Studio 會當機 \(英文\)。
- 無法建立 Xamarin.Forms 專案 \(英文\)。
- Não consigo criar novos projetos Xamarin Forms - 無法建立新的 Xamarin Forms 專案 \(英文\)。
- 更新之後空白專案損毀 \(英文\)。
Visual Studio 2017 15.7.4 版
於 2018 年 6 月 18 日發行
15.7.4 中修正的常見問題
這些是 15.7.4 中已解決的客戶回報問題:
- Green squiggles and light bulb with "Macro in skipped region" message (綠色波浪線和附有「跳過區域中的巨集」訊息的燈泡)。
- F7 does not switch to code (F7 未切換到程式碼)。
- F7 does not build anymore (F7 失去了建置功能)。
- F7 build does not work (F7 組建無法運作)。
- LINK : error : Telemetry event upload failed: 'Failed to open connection to VCTIP' (連結 : 錯誤 : 遙測事件上傳失敗:「無法開啟與 VCTIP 的連線」)。
- AXML file doesn't open after update(更新後,AXML 檔案未開啟)。
- F7 no longer toggles between the designer and the code (F7 失去了在設計工具和程式碼之間切換的功能)。
- XAML Editor Error: Window is not supported in WPF project (XAML 編輯器錯誤:WPF 專案中不支援 Window)。
- WinForms View.ToggleDesigner does not work as it used to (WinForms View.ToggleDesigner 未像以前一樣運作)。
- Toggle designer key binding lost(遺失了切換設計工具的按鍵繫結關係)。
- F7 does not start a new build(F7 未啟動新的組建)。
- F7 no longer toggles between the designer and the code (F7 失去了在設計工具和程式碼之間切換的功能)。
- There is a problem with structure definition in C language (C 語言中的結構定義發生問題)。
- Provisioning a new SQL Server and new SQL DB in a different region than the App Service plan fails (無法在與 App Service 方案不同的區域中佈建新的 SQL Server 和新的 SQL 資料庫)。
Visual Studio 2017 15.7.5 版
於 2018 年 7 月 10 日發行
15.7.5 中修正的常見問題
這些是 15.7.5 中已解決的客戶回報問題:
- VS2017 15.7.0 社群偵錯工具未在暫留時顯示變數值。
- 最佳化例外狀況區塊避免當機。
- 從 15.7.2 更新到 15.7.3 後,無法推送至遠端存放庫。
- 同步處理認可:Git 失敗,發生嚴重錯誤。
- 在啟用最佳化時,與 NaN 上的算術運算相關的編譯器錯誤不符合標準。
- x86 組建中的最佳化錯誤,未能正確地重新排序行。
Visual 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 中已解決的客戶回報問題:
- Visual C++ 可轉散發套件 2017 在特定的登錄位置不會回報安裝狀態。
- 在 15.7 中,使用者可能會看到延伸模組載入時沒有任何資產,並造成 Visual Studio 損毀。 這已在 15.7.6 解決。
- Visual Studio 2017 15.7.5 會在開啟解決方案時損毀。
已知問題
歡迎您提供意見反應。 請前往Developer Community (開發人員社群) 網站,以尋找最新問題、記錄新問題及附議現有問題。
查看 Visual Studio 2017 15.7 版中所有現有的已知問題和可用的因應措施。
意見反應與建議
我們很希望聽聽您的意見! 若有任何問題,請透過安裝程式或 Visual Studio IDE 本身右上角的回報問題選項來通知我們。 圖示位在右上角。 您可以在 Visual Studio 開發人員社群中提出產品建議或追蹤您的問題,也可以提出問題、尋找解答及提議新功能。 您也可以透過我們的即時聊天支援取得免費的安裝協助。
部落格
善用「開發人員工具部落格」網站中的見解與建議,讓您能夠隨時取得所有新版本的最新資訊,以及涵蓋各類功能的深入探討文章。
Visual Studio 2017 版本資訊歷程記錄
如需舊版 Visual Studio 2017 的詳細資訊,請參閱 Visual Studio 2017 版本資訊歷程記錄頁面。