Visual Studio IconVisual Studio 2015 Update 2 版本資訊


授權條款 | Visual Studio 部落格 | 開發人員社群

注意

這不是 Visual Studio 的最新版本。 若要下載最新版本,請參閱 Visual Studio 2019 的最新版本資訊


Visual Studio 2015 版本

您可以檢視 Visual Studio 2015 所有版本的版本資訊:

下載 Visual Studio 2015

您可以從 My.VisualStudio.com下載 Visual Studio 2015。 My.VisualStudio.com 需要免費的 Dev Essentials 訂用帳戶,或 Visual Studio 訂閱


Release Notes IconVisual Studio 2015 Update 2

發行日期︰2016 年 3 月 30 日

此版本新功能的摘要

Visual Studio:

其他變更:


本版新功能

Visual Studio Tools for Apache Cordova

Visual Studio 2015 Update 2 包含 Visual Studio Tools for Apache Cordova Update 8 和下列改善︰

  • 支援 Cordova 6.0.0
  • 已改善建置錯誤訊息
  • 已改善 npm 整合 (使用沙箱版本並遵守系統 Proxy 設定)
  • 已更新外掛程式清單

如需迄今為止所有版本的詳細資訊,請參閱 Visual Studio Apache Cordova 工具部落格 (英文)。

適用於通用 Windows 應用程式開發的 Visual Studio Tools

我們已在 Visual Studio Update 2 中新增下列適用於通用 Windows 平台工具的新功能:

  • 通用 Windows SDK 版本選擇器。 現在建立新的 UWP 專案時,您可以選取要作為目標的 Windows SDK 版本,以及應用程式上可供使用的最低作業系統版本。
  • 在 Windows 通用應用程式中偵錯 C++ 背景工作。 您現在可以在 Visual Studio 的 Windows 通用應用程式中偵錯背景工作流程。 您可以在 [屬性偵錯] 索引標籤上存取此選項。
  • 市集封裝精靈改善。 市集封裝精靈現在會快取應用程式名稱和封裝設定。 在封裝與市集建立關聯之後,您就可以建立 appx 封裝,而不需再次登入。

Visual C++

C++ 編譯器

我們在本版中更新了 C++ 編譯器和標準程式庫,加強對 C++11 和 C++14 功能的支援,以及對 C++17 標準某些預期功能的基本支援。 最顯著的編譯器變更是對變數範本和 constexpr 改善的支援。

Visual Studio 2015 Update 2 允許 /SDL 和 /AWAIT 搭配使用。 我們也已移除協同程式的 /RTC 限制。 協同程式仍在實驗階段,但已可用於優良的實際執行程式碼。

此外,我們也已修正 300 多個編譯器錯誤 (bug),包括許多客戶透過 Microsoft 開發人員社群提交的問題 — 感謝您! (這些錯誤 (bug) 修正有一部分會解決編譯器中的程式碼產生問題,而修正它們需要進行來源中斷性變更。如需詳細資訊,請檢閱 MSDN 上的 Visual C++ 2015 Update 2 最新變更清單)。

C++ 程式庫

我們實作了所有已票選納入 C++11、C++14 和 C++17 至今工作文件 N4567 (Jacksonville 之前) 的 C++ 標準程式庫功能。

針對 UWP 封裝,已從 Microsoft.VCLibs 14.0 版 Framework 封裝中移除 ucrtbased.dll(debug)。 之所以進行這項變更,是為了避免特定版本 Windows 10 SDK 的鎖定。 Visual Studio/MSBuild 會自動將參考插入專案的 Microsoft 通用 CRT 偵錯執行階段擴充功能 SDK,這些專案參考 VCLibs Framework 封裝,然後將 ucrtbased.dll 納入應用程式的 Appx。 若為非 MSBuild 的組建系統,您必須手動將 ucrtbased.dll 納入應用程式的 Appx 檔案 (應用程式本機)。

C++ IDE

現在預設使用新的 SQLite 型資料庫引擎。 這會加速資料庫作業,如「移至定義」和「尋找所有參考」,也會大幅改善初始解決方案剖析階段。 該設定已移至 [工具] -> [選項] -> [文字編輯器] -> [C/C++] -> [進階] (原先位於 ...[C/C++] -> [實驗性] 底下)。   

Clang/C2 平台工具組

Visual Studio 2015 Update 2 隨附的 Clang/C2 工具組,現已支援對建置大型專案至關重要的 /bigobj 參數。 它也包含數個重要的 Bug 修正,包括編譯器前端和後端。

Android

Android 供應項目現在支援 Gradle 組建。 開發人員可以使用 Gradle 來組建 Android 成品 (.aar、.apk 成品)。 若要開始,請看一下 [檔案] -> [新增] -> [Visual C++] -> [跨平台] 功能表中提供的 Gradle 範本。

iOS

Visual Studio 現在允許透過 [進入點精靈] 將現有的 Xcode 專案匯入 Visual studio。

iOS 體驗現在也提供改良的編輯、組建、偵錯循環,作為使用下列功能集的結果,如下所示︰

  • iOS 開發人員可以在 Visual Studio 中使用佈建設定檔。
  • iOS 開發人員可以利用其 iOS 供應項目的架構和 dylib 檔案。
  • Visual Studio 現在為以動態方式重新整理偵錯目標提供較佳的體驗。
  • 我們已為清除組建套用多個 Bug 修正。

針對仍需要 Xcode 的案例,例如,簽署市集 iOS 應用程式或使用 Xcode 儀器,開發人員可以利用 Visual Studio 的 [Open in Xcode] (以 Xcode 開啟) 功能,將 Visual Studio iOS 專案移植到 Xcode 並繼續作業。

C# 和 Visual Basic

雖然 Update 2 的重點在於回應客戶的意見反應並修正錯誤 (bug),但我們也改善了下列功能:

  • 您現在可以使用專案內容將 C# 互動視窗初始化,以便立即存取該專案內的型別。 您也可以使用新的 [在互動中執行] 命令,從解決方案傳送要執行於互動視窗中的程式碼片段。

C# Execute In Interactive

C# Interactive

  • 我們已改善 Add Using 命令以支援拼錯型別的「模糊」比對,並搜尋整個解決方案和中繼資料以尋找正確的型別,同時新增 Using 和任何所需的專案或中繼資料參考。

C# Add Using command

  • 我們已改善分析器 API,包括讓分析器寫入器標示其分析器以同時執行,以及針對分析器是否在產生的程式碼中執行提供控制。

  • 我們新增了一些新的 IDE 重構,包括使用新的 Null 條件運算子來簡化委派叫用的燈泡動作,以及在未使用任何 'await' 運算子時讓異步方法同步的重構。

C# IDE Refactoring

.NET Framework 4.6.1

ClickOnce 啟動載入器封裝

我們已在 Update 2 中新增 Visual Studio 2015 的 .NET Framework 4.6.1 ClickOnce 啟動載入器封裝。 .NET Framework 4.6.1 的 ClickOnce 啟動載入器封裝會在 Visual Studio 2015 中可用的必要條件清單中啟用 .NET 4.6.1 項目,讓您更輕鬆地針對 ClickOnce 部署發佈應用程式。

Visual Studio IDE

  • 支援 TextMate 程式碼片段。 Visual Studio 現在支援將 tmSnippet 檔案放入程式碼片段資料夾中以取用 tmSnippet 檔案。 根據預設,程式碼片段會在 GO、Groovy、Lua、Perl、R、Ruby 和 Swift 等語言的完成清單中提供。
  • 延伸模組的自動更新。 我們正在將自動更新功能擴充至更多延伸模組。 啟用自動更新的延伸模組會自動下載並安裝,不需要用戶互動。 您不再需要手動更新並重新啟動 Visual Studio 以取得這些延伸模組。 針對「所有使用者」安裝的延伸模組現在可選擇加入此功能。 身為使用者,您會繼續擁有完整的控制權,在 [工具] -> [延伸模組和更新] 或在全域層級透過 [工具] -> [選項] 中啟用/停用每個延伸模組的自動更新。

Auto-Update for Extensions in the Visual Studio IDE

  • [帳戶設定] 對話框現在更容易透過螢幕助讀程式來存取。

版本控制

根據 Update 1 的工作,我們已將更多功能新增至狀態列,以改善版本控制體驗。 雖然 Update 1 引進了兩個新區間來顯示存放庫名稱和最新分支,但這些區間僅限於內部實作。 在 Update 2 中,我們新增了三個新區間,並開放這些區間供第三方原始程式碼控制提供者實作。

其中兩個新區間會出現在原始 Update 1 工作旁邊,旨在快速查看暫止的變更數目和未發佈的認可。 我們知道,不同的提供者在變更或與伺服器同步時可能會有不同的範式,但我們相信這些區間可提供足夠的彈性來容納它們。 如果其中一個區間不適用,提供者可以選擇將該區間排除在其實作之外,而且會從狀態列隱藏該區間。

透過現成實作的 Git 提供者,只要按一下即可在 Team Explorer 中瀏覽至 [同步]、[變更]、[分支] 或 [連線] 頁面!

Version Control - Unpublished Commits example

Version Control - No Pending Changes example

雖然先前提及的區間旨在為已在原始程式碼控制下的解決方案提供更多資訊和快速動作,但最後一個區間旨在提供快速且簡單的方法,將解決方案納入原始程式碼控制。 有了這個新的發佈區間,只要按一下即可選擇原始程式碼控制提供者並新增您的解決方案!

現成可用的發佈會自動將您的解決方案包裝在 Git 存放庫中,並將焦點切換至 Team Explorer 中的 [同步處理] 頁面,讓您新增遠端並發佈您的解決方案。 隨著更多提供者支援這項功能,[發佈] 按鈕可讓您選擇您想要用於指定解決方案的原始程式碼控制。

Version Control - Publish This Solution example

NuGet

Visual Studio 的 NuGet 延伸模組已更新至 v3.4,其中包含下列新功能和改善:

  • 能夠從已編譯的 xproj 專案封裝來複製 PDB。
  • 支援 contentFiles 元素中的 iOS 和 Android 組建動作。
  • 支援在 Linux 和 Apple 環境中執行的 NuGet。
  • 彙總的「所有存放庫來源」來源可讓您從任何可用的已設定封裝存放庫搜尋及安裝封裝。
  • 封裝還原和更新動作的顯著效能改善。
  • [更新]、[合併] 和 [已安裝] 檢視的使用者介面效能微調與改善。
  • 可以平行還原專案封裝。
  • 支援 gzip 壓縮的 HTTP 流量,允許 NuGet 用戶端從服務讀取 gzip 內容編碼。
  • 改善組態檔處理以防止不必要的編輯和格式化。
  • 支援 netstandard 和 netstandardapp 目標 Framework Moniker。

您可以在 NuGet 文件 (部分機器翻譯) 網站上找到一組完整深入的版本資訊和 GitHub 問題。

TypeScript

Visual Studio 2015 Update 2 包含 TypeScript 1.8,其中包含下列新功能和已改善的功能。

  • 支援字串常值型別、F 有界的多型、「this」型別成立條件子句,以及已改善的等位型別推斷。
  • 編譯器現在會反白顯示常見的錯誤 (bug),例如無法連線的程式碼、遺漏的 return 陳述式和未使用的標籤。
  • JSX 支援已更新,以辨識並著色 JSX 語法中的最新變更。
  • 已改善 tsconfig.json 支援,以進一步控制組建組態。
  • 能夠使用模組增強來設計更多模組化程式庫。
  • JavaScript 來源檔案能以 TypeScript 編譯器的輸入包含在內。

如需詳細資訊,請參閱 MSDN 上的 TypeScript 部落格 (英文)。

開發人員分析工具

相較於 Visual Studio 2015 Update 1 隨附的 v4.0,Developer Analytics Tools v5.2 (先前稱為 Application Insights Tools for Visual Studio) 包含了多項新功能和改善。 值得注意的新增項目包括︰

  • 使用 HockeyApp 發行 Windows 通用應用程式的搶鮮版 (Beta)。
  • 使用 HockeyApp 發行 Windows Forms 應用程式的搶鮮版 (Beta)。
  • 能夠搜尋本機偵錯工作階段中發出的 Application Insights 遙測。
  • 在 Visual Studio 中更能鎖定 Application Insights 快顯通知。
  • 從 log4net、NLog 和 System.Diagnostics 等記錄架構設定追蹤集合的流暢體驗。

此外,我們已對搜尋功能進行多項改善,如下所示:

  • 能夠從例外狀況堆疊追蹤跳至原始程式碼的方法。
  • 能夠搜尋相關的遙測。
  • 支援在程式碼中尋找遙測屬性值。
  • 向前/向後搜尋記錄。

如需詳細資訊,請參閱 Microsoft Azure 上的技術版本資訊 (部份機器翻譯)。

Team Explorer

使用 Update 2,在 Visual Studio 中開啟 Team Explorer 和瀏覽工作項目查詢會更加快速。  現在,當您瀏覽查詢樹狀結構時,Visual Studio 會逐漸從 TFS 伺服器提取查詢階層中的下一層級查詢資料夾和項目,因此更深的樹狀結構會在需要時 (也就是當階層樹狀結構展開時) 下載到用戶端。

Visual Studio 中的 Git 改善

  • 新的 Git 命令。 在此更新中,我們新增了重設 (硬重設與混合重設)、揀選和暫存的支援。
  • Git LFS。 Visual Studio 現在與設定為使用 Git LFS (大型檔案儲存體) 的 Git 存放庫相容。 深入了解 Git LFS
  • [變更] 頁面現在支援暫存,只要簡單的動作 (例如按兩下) 即可暫存所有變更的檔案並檢視其差異。 

Example of the Changes page

  • [歷程記錄] 檢視支援以篩選來尋找來自特定作者的認可,或使用認可註解中找到的關鍵字來尋找。 選取認可將會反白顯示分支前端和父系的路徑。

Example of the History view

  • [分支] 頁面現在可讓您更輕鬆地擷取、提取和推送變更。

Team Foundation 版本控制的閘道簽入

TFVC 專案現在可設定分支原則,以要求先成功組建之後才能將程式碼提交至分支。

SQL Server Data Tools

Visual Studio 2015 Update 2 包含 SQL Server Data Tools 的最新更新,可支援 Azure SQL DatabaseSQL Server 2016 的最新功能。

此更新提供了便利性,在所有支援的 SQL Server 版本和資料庫平台 (包括內部部署和雲端) 上都能使用 Visual Studio 來開發、測試和部署資料庫。 此更新也包含資料庫可程式性介面區的增強功能,並改善 SQL Server Data Tools 中的 SQL 連線體驗,現在只需按一下,就會自動探索可連線的 SQL Server 和 Azure SQL Database。

此外,Visual Studio 2015 Update 2 提供了新的 Azure SQL Database 驗證型別,以及 Azure Active Directory 整合式與密碼驗證。

適用於 Visual Studio 的 Python 工具

Visual Studio 2015 Update 2 包含 Python 工具 2.2.3 的更新。 Python 工具提供了 Python 程式設計語言的編輯、IntelliSense、偵錯、程式碼剖析和 Azure 功能。

此版本也已改善最新版 Django 的支援,並修正一些其他問題。

如需完整資訊和下載,請參閱 Python 工具 2.2.3 版本頁面 (英文)。

其他

平行測試執行

Update 2 的重點在於修正錯誤 (bug) 並回應使用者的意見反應。 根據這類意見反應,我們已更新平行測試執行功能。 其語意與 Update 1 (引進該功能時) 中的語意相同。 在 Update 2 中,我們已透過下列方式更輕鬆地控制該功能:

  • Visual Studio IDE 測試總管會顯示一個新的切換按鈕,讓您用來開啟/關閉平行執行。 然後,此設定會與解決方案一起保存。
  • 從命令列中,vstest.console.exe 會提供一個新的 /Parallel 參數。

XAML 診斷

應用程式內功能表

Visual Studio 2015 現在具有應用程式內功能表,可讓您更輕鬆地執行 UI 偵錯。 您在 Visual Studio 中可以開啟和關閉選取模式、切換版面配置裝飾項,並直接跳至即時視覺化樹狀結構。 您也可以按一下圖示下方的列,以摺疊應用程式內功能表,或從即時視覺化樹狀結構開啟和關閉應用程式內功能表。

即時屬性編輯器中的協助工具屬性

在偵錯 WPF 或通用 Windows 10 專案時可用的即時屬性總管,現在會列舉應用程式中自動化同儕節點所公開的屬性。 這個新檢視可協助您診斷許多常見問題,以防止所有使用者存取您的應用程式。

其他變更

效能與回應性

我們進行了下列 Visual Studio 效能改善:

  • 已提升在 Visual Studio 中開啟 Team Explorer 和瀏覽工作項目查詢的速度。
  • 已大幅減少 %temp% 目錄中的記錄檔產生,以節省磁碟空間並防止應用程式失敗。
  • 已改善下載及安裝 VS Update 和其他功能的可靠性。
  • 已縮短 Visual Studio 在安裝延伸模組時的啟動時間。
  • 已修正在下載特定封裝和選取特定功能時安裝失敗的問題。
  • 已在 C++ 瀏覽資料庫引擎中新增對 SQLite 的支援,進而大幅加快使用者程式碼以及需要查閱之所有 IntelliSense 作業的原始剖析。
  • 已修正在 IDE 右上角的登入名稱旁邊出現「暫止」符號的問題。 現在,在 IDE 內驗證之後,您的設定和設定檔會漫遊 90 天。 (在未連線 visualstudio.com 7 天後,認證不再過期。)
  • 已更新 ASP.NET MVC5 範本。 此修正程式解決了 Microsoft 安全性公告 3137909 中所述的弱點。
  • 已啟用新的資料庫引擎;現在,C++ 專案載入應該會更快,UI 延遲的情況會更少。 
  • 已提升使用 iostreams 擷取浮點數的速度 (換句話說,「資料流 >> dbl」)。 現在速度提升多達 19 倍,而且擷取值的所有部分都正確無誤。
  • 已提升 std::vector 重新配置和 std::copy() 的速度;當它們為簡單可複製的簡單型別 (包括使用者定義的型別) 呼叫 memmove() 時,速度會提升多達 9 倍。
  • 已提升 std::vector 的速度多達 11 倍。
  • 已提升 std::string::replace() 的速度,在取代相同大小的子字串時,速度會大幅加快。
  • 已提升 std::string::push_back() 的速度多達 3 倍。
  • 已提升 std::sub_match 比較的速度,因為它們現在可避免建構暫存 std::strings。
  • 已提升 std::function 複製建構函式的速度;由於縮減了程式碼產生的大小,因此會稍微快一點。
  • 已改善 NuGet 中的 [更新]、[已安裝] 和 [合併] 索引標籤中的效能;還原和更新動作;以及支援 gzip 壓縮之存放庫 (例如 NuGet.org) 的查詢速度。
  • 已改善工作階段中的初始自動完成清單叫用,現在程式碼片段的列舉已變更為異步操作,因此回應速度會更快。
  • 已增強 T4 文字範本,使其現在支援 C# 6.0。
  • 已改善 Code Map 的可靠性 (與 Windows 停駐情節相關)。

我們也已修正下列情節中的 Visual Studio 回應性

  • 當 Edge 是預設瀏覽器時,在 Windows 10 上使用 Help Viewer。
  • 在使用唯讀或已中斷連接的磁碟機時執行安裝程式。
  • 在 Visual Studio 中工作時遇到間歇性的網路連線問題。
  • 在偵錯時編輯 C# 或 Visual Basic 檔案,如下列 MSDN 文章所述:Microsoft Visual Studio 2015 (KB3110221) 更新。
  • 將編輯器用於遺漏 <Description> 或 <Title>元素的自訂程式碼片段。
  • 在編輯期間更新受控專案的錯誤清單項目。
  • 使受控專案在長時間工作階段中保持開啟狀態。 (我們已修正解決方案的 OutOfMemoryException 使受控專案在長時間工作階段保持開啟狀態的問題。我們已根據目前為止從客戶那裡收到的堆積傾印來修正記憶體問題。)
  • 開啟記憶體分析工具快照集。
  • 建立 C++ 市集應用程式。
  • 當原始程式碼控制的專案路徑太長時,使用 Visual Studio。
  • 在安裝期間載入 VC 專案封裝。
  • 關閉 Visual Studio。
  • 編輯專案屬性。
  • 編輯 C++ 程式碼。
  • 呼叫方法時,呼叫第三方元件或其他 Visual Studio 程式碼。
  • 在某些當地語系化組建中發出特定錯誤訊息時,使用 IntelliSense 引擎 (vcpkgsrv)。 現在會顯示錯誤訊息,指出「未產生 IntelliSense PCH 檔案」。
  • 處理 C++ 專案中參考的受控組件,其中包含泛型型別階層中具名覆寫的特定模式。
  • 開啟原本會阻止 Visual Studio 回應多達三秒鐘的大型 C++ 專案。
  • 在註解中使用「貼上」。
  • 叫用「建立宣告/定義」。

錯誤 (Bug) 修正與已知問題

如需此版本的技術改進、錯誤 (bug) 修正及已知問題的完整說明,請參閱下列 MSDN 文章。

進一步了解Visual Studio 2015 Update 2 的描述

Azure SDK 2.9

以下是一些可協助改善 Azure 開發體驗的最近更新項目:

  • 已修復 REST API 用戶端產生中的問題,其中字串「未知型別」會顯示為程式碼產生資料夾的名稱和/或放入所產生程式碼的命名空間名稱。
  • 已修復與排程 WebJobs 相關的問題,其中驗證資訊無法傳遞至排程器佈建流程。
  • 已在 App Service 佈建對話方塊的 [服務] 索引標籤中新增次要應用程式服務的支援。

如需詳細資訊,請參閱以下 Azure 工具部落格文章 (英文)。