Visual Studio 圖示 Visual Studio 2015 Update 3 版本資訊

這很重要

不再 支援此版本。 要下載最新版本,請訪問 https://visualstudio.microsoft.com/downloads/

Visual Studio 2015 版本

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

下載 Visual Studio 2015

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

版本資訊圖示 Visual Studio 2015 Update 3

發行日期:2016 年 6 月 27 日

此版本中新功能的摘要


此版本的新功能

Apache Cordova 工具

備註

隨 Visual Studio 2015 Update 3 一起安裝的 Node.js 版本已過期。 若要更新至較新的版本,請深入瞭解如何 安全更新 Node.js

Visual Studio 2015 Update 3 包含適用於 Apache Cordova Update 10 的工具,包括下列改善。 和 更新 10。 有關我們工具的最新消息,請訪問 GitHub 上的 開發人員博客

  • 我們新增了對 Cordova 6.1.1 的支援,這是新專案的預設版本。
  • 我們已淘汰 Cordova 4.x 中使用的 Cordova 外掛程式登錄,這表示我們現在至少需要 Cordova 5.x 或更新版本才能新增外掛程式。
  • 核心外掛程式清單已更新,現在包含企業案例的外掛程式,例如 Intune、Azure 參與、安全性和 SQLite 本機儲存體。
  • 您現在可以透過 npm 套件名稱或 ID 從設定設計工具新增外掛程式。

cordova-add-plugin-byid

  • 您也可以新增需要設定設計工具參數的外掛程式。

外掛程式參數

開發人員分析工具

我們在開發人員分析工具 v7.0.2 中新增了以下改進:

  • Application Insights 趨勢是一個用於尋找應用程式遙測趨勢的工具。
  • CodeLens 中的例外狀況遙測。
  • 生產遙測資訊已新增至診斷工具中的例外。
  • 支援從 Visual Studio 將 Application Insights 新增至 ASP.NET Core RC2 專案。
  • ASP.NET 5 RC1 和 ASP.NET Core RC2 專案的診斷工具事件。
  • 選取詳細資料篩選、時間範圍和事件時,自動重新整理 Application Insights 搜尋。
  • 前往「搜尋中請求的程式碼」。
  • 改進的 HockeyApp 登錄體驗。

如需詳細資訊,請參閱 Microsoft Azure 檔中的 技術版本資訊

偵錯和診斷

診斷 工具 的支援已新增至更新 3,以支援在 OneCore 裝置上運行的應用程式,包括 HoloLens 和 物聯網。

C++ 編輯及繼續功能改進:

  • 啟用 FASTLINK 時,效能和可靠性會更好。
  • 成功地將程式碼變更套用至靜態程式庫後,不再會產生失效程式碼。
  • 在重新編譯期間,針對誤報的類型變更將不再出現 C4656 警告。
  • 支援新增跨多個編譯單元的同名新類型。

XAML UI 偵錯改善:

  • 每當應用程式中的焦點變更時,即時視覺樹狀結構中的新追蹤焦點功能會導致即時視覺化樹狀結構中的選取項目更新為目前焦點元素。

Visual Studio IDE

訂用帳戶和產品金鑰

我們已在 Update 3 中解決客戶透過線上身分識別或產品金鑰使用訂用帳戶來解除鎖定 IDE 的意見反應,方式如下:

  • 您不再需要造訪 https://my.visualstudio.com 來啟用指派的 Visual Studio 雲端訂用帳戶,而且可以在指派訂用帳戶後立即開始使用 Visual Studio IDE。
  • 我們已改善套用產品金鑰時的錯誤處理。
  • 所有使用者帳戶和授權作業現在都使用 HTTPS 來保護。
  • 我們已改善 [帳戶設定] 對話方塊中的無障礙功能,方便啟用訂閱和輸入產品金鑰。
  • 不再需要每 ~8 天重新驗證一次,以保持個人化帳戶處於作用中狀態並同步漫遊設定。

通用 Windows 應用程式的工具

Visual Studio 2015 Update 3 隨附了通用 Windows 應用程式工具的數個增強功能。 一項關鍵改進允許您在創建要提交到 Windows 應用商店的包時,使用 AAD 應用商店帳戶的 Azure Active Directory 憑據登錄。 一旦專案與 Windows 市集相關聯,您將不再需要登入來建立要提交至市集的套件。

適用於通用 Windows 應用程式的 .NET 原生化

.NET 原生 1.4 是次要服務版本,可改善效能、解決數個客戶回報的錯誤,並改善大型應用程式的發行組建編譯時間。 使用 .NET Native 1.4 的 XAML 應用程式和 Unity 遊戲將具有更好的執行階段效能。 這些改進是通過加快反射和原生 API 調用速度來實現的。

架構工具

我們已處理客戶關於改善效能和可靠性的意見反應。

領域特定圖形設計工具(包括 EDMX 和 DBML)

在 Windows 10 上,當您在顯示螢幕鍵盤時開啟或嘗試編輯大型 EDMX 或 DBML 圖表時,Visual Studio 不再沒有回應。

程式碼圖

  • 當您嘗試「產生解決方案的程式碼對應」時,當解決方案包含安裝程式專案 (.vdproj) 時,Visual Studio 不再沒有回應。
  • 當您從程式碼編輯器執行程式碼對應命令,並在出現時立即關閉 [程式碼對應] 視窗時,Visual Studio 不再沒有回應。

圖層驗證

  • 建置具有模型化專案的解決方案時,其中包含具有「驗證」動作的「層」圖表,建置完成後將不再使用 CPU 核心。
  • 現在,當圖層圖的父系建模專案參考 PCL 資源庫 (例如 ODP.Net) 時,您可以驗證圖層圖。

適用於 Visual Studio 的 Node.js 工具

適用於 Visual Studio 的 Node.js Tools 1.2 RC 現在可供 下載。 我們預期此版本將提供顯著改善的穩定性和效能,包括減少先前版本中出現的記憶體不足當機。

其他亮點包括:

  • 更快、更好的 ES6 IntelliSense
  • 更可靠的調試
  • 改善的單元測試體驗 (包括磁帶支援)
  • .npm 命令在更多專案類型中

如需完整資訊和下載,請參閱 Node.js Tools 1.2 RC 發行頁面

Web 開發人員工具

針對 ASP.NET Web 應用程式專案,當取消核取 [啟用編輯並繼續] 複選框時,每次停止偵錯時,IIS Express 程式將不再停止。

Visual C++

更新 3 中包含增強功能,例如 C++ 編譯器的新檢查和警告訊息,以及 C# 和 Visual Basic 編碼的支援和效能改進。

C++ 編譯器

  • 我們現在檢查已刪除的簡單複製/移動 ctor 的訪問權限。 如果沒有檢查,我們可能會錯誤地呼叫預設的副本 ctor(其中實作可能格式錯誤)並導致潛在的運行時錯誤程式碼產生。
  • Std::is_convertible 現在,當複製建構函式被刪除或設為私有時,可以正確偵測類型的自我賦值。
  • 由於完成屬性 ATL 支援淘汰的最後一個階段是在 Visual Studio 2008 中開始,因此我們已將新的淘汰警告新增至編譯器。 使用 Visual Studio 2015 Update 3 時,使用有屬性標記的 ATL 程式碼會產生預設啟用的層級 1 警告。 C4467
  • 使用 PCH 檔案時,若在 -Yc 和 -Yu 編譯時指定的 -I 包含目錄不一致,現在將產生新的警告。 C4599
  • 使用 PCH 檔案時,-Yc 和 -Yu 編譯之間來源檔案中不相符的 #include 指令現在將產生警告。 C4598

如需這些變更如何影響現有程式碼的詳細資訊,請參閱 MSDN 上的 Visual C++ 移植和升級指南

C++ 程式庫

  • 我們已還原偵錯模式效能,同時銷毀在 Update 2 中回歸的簡單物件範圍,例如向量<字元>。

  • 我們已從 C++17 工作文件中實作可交換特徵,從提案 P0185 新增 [nothrow-]可交換特徵。 作為一個推測性的 C++17 功能,特徵(is_swappableis_swappable_withis_nothrow_swappableis_nothrow_swappable_with)僅在使用std::swap編譯時可見,/std:c++latest的條件約束才會啟動。

  • 我們已從 vcruntime140.dll 和靜態程式庫中移除在進程啟動和 dllmain 期間觸發的 ETW 事件呼叫。

  • 我們已移除 STL 容器所使用的常見機制中的符號名稱長度,例如 std::vector,以降低 C4503 警告的可能性。 例如,下列類型不再產生警告:concurrency::concurrent_unordered_map<wstring,vector<pair<uint64_t,vector<uint8_t>>>>。

  • ATL/MFC/AMP/PPL:許多與兩階段查找相關的一致性修復,如下所示:

    • _com_ptr_t 現在有一個移動建構函數和移動分配運算子。

    • MFC:修正了 HMENU 值的處理,這些值偶爾會阻止功能表在 64 位應用程式中正確顯示。

    • ATL/MFC:不再發出下列警告:

    • 函數覆蓋/隱藏:C4263、C4264、C4266

    • 不相符的異常規範:C4986

    • /分析:C6386

    • ATL:AtlThrow 的所有變體現在都正確地標記為 __declspec(noreturn)。 這可防止發出錯誤的 SAL 警告。

    • ATL:修復/改進了幾個 SAL 註釋。

    • /std:c++latest 啟用下列新功能:P0025R1「clamp()」、P0185R1「is_swappable, is_nothrow_swappable」,以及P0272R1「Non-const basic_string::data()」。

    • /std:c++latest 也控制下列舊功能的移除:N4190 「移除 auto_ptr、random_shuffle() 和舊 <的函式> 內容」、P0004R1「移除已棄用的 Iostreams 別名」、LWG 2385 「function::assign 配置器引數沒有意義」,以及各種非標準功能 (std::tr1 命名空間、一些僅限 TR1 的機制,以及 std::identity 結構體)。

    • 修復了 x86 平台上的原子<int64_t>/原子<uint64_t> 運作時隱藏的不良代碼生成。

    • STL 現在避免使用「魔術靜態」來確保線程安全,除非絕對必要,以改進程式碼生成。

    • Tuple 的完美轉送建構函式現在可以避免與複製建構函式競爭,從而修復某些情況下的編譯器錯誤。

  • 協程:

    • 已淘汰下列關鍵字: & 關鍵字。 請改用 co_await / co_yield
    • 已將棄用通知新增至: to_addressfrom_promise 類別成員 coroutine_handle 。 使用 coroutine_handle::to_address() 取代 coroutine_handle::address()
    • 使用 coroutine_handle::from_promise(Promise *P) 取代 coroutine_handle::from_promise(Promise &P)
  • 我們透過更積極地分派到 memcmp 和 memchr,改進了以下方面的效能:std::equalstd::lexicographical_compare,從而在某些情況下大幅提升效能。 例如:在64位平台上,equal(char, char, char, char)。

    • 透過減少在迭代器除錯機制中的簿記函數調用次數,我們能顯著提升除錯版本的效能。
    • string::push_back 在開發版本中相比更新 2 又提升了 40%,在除錯版本中有更顯著的改進。 (這是對更新 2 中提供的重大性能改進的補充)。
    • 所有標準演算法的偵錯組建已經通過消除多種類型的空模板元程式設計支援呼叫(例如, _Iter_cat)以及減少述詞複本數量來進行了改善,以此優化所有使用述詞的演算法。
    • std::mismatch_ITERATOR_DEBUG_LEVEL 下面的第 1 和第 2 範圍,應盡可能在迭代之前檢查第二個範圍。
  • 我們已將改進的訊息診斷應用到其餘的演算法(在第二次更新中,只有少數演算法連接到新的淘汰機制)。 這也改善了進行標準演算法的偵錯時的體驗,因為不再有任何 _ITERATOR_DEBUG_LEVEL 預處理器互動宣告多個標準演算法的副本。 我們還修復了以下問題:

    • 我們修復了一些函數(例如 mismatch(iter, iter, T[]))因為我們的非標準 _ITERATOR_DEBUG_ARRAY_OVERLOADS 和雙區間演算法之間的互動而無法編譯的問題。
  • 我們已解決 STL 中違反預設禁用警告 C4242 的問題。

  • 我們已修正 std::pop_heap 中可能的整數上溢錯誤。

  • 我們已修正 /clr:pure 下潛在的當機問題,因為 CLR 插入的 LoadLibrary 呼叫,同時保留地區設定鎖定。

C++/CLI 偵錯

  • C++/CLI 運算式評估工具現在支援偵錯工具功能,例如 Natvis,這些功能先前僅支援純原生應用程式。 現在,在混合托管/原生應用程式中,當物件顯示在變數視窗或資料提示窗口時,它們會展開,就像在由類型視覺化工具定義的純原生應用程式中一樣。

cpp-cli-debug

Clang/C2 平台工具組

我們已將 Clang 3.8 版本整合到 Clang/C2 中,並提供 64 位元託管工具集。

C++ MDD

我們已啟用對最新 Android NDK 版本 R11C 的支援,並能夠升級目前的專案以指定最新的 NDK。

TypeScript

Visual Studio 2015 Update 3 包含 TypeScript 1.8.34。 我們已修正一些使用 AngularJS 的大型 TypeScript 專案的記憶體不足錯誤。

C# 和 Visual Basic

我們已投資減少記憶體佔用並改善程式碼診斷的效能。 這將減少先前版本中看到的大量記憶體不足導致的崩潰。 我們已改善在整個解決方案上執行程式碼診斷的效能。 若要深入瞭解程式碼診斷效能增強功能,請閱讀 MSDN 上的 如何:啟用和停用 Managed Code 的完整解決方案分析 頁面。

其他改進包括:

  • 新增 NuGet 套件參考作為快速修正的選項:

nuget-bulb

  • 您可以從「工具 > 選項 > 」「文字編輯器 > C# > 進階」的「使用指令」下啟用此選項:

插件-byid

  • 我們已改善以 .NET Platform Standard 為目標的可攜式類別程式庫的支援。
  • 我們已對 C# 的 GoTo 實作功能和「尋找所有參考」進行效能提升。 您可以通過選擇一個對象,右鍵單擊它,然後從菜單中選擇它們來嘗試這些。
  • 當您將「全部修正」動作套用至檔/專案/解決方案時,我們現在會顯示進度列。
  • 改善在大型解決方案中重新載入 C# 和 VB 專案時的效能。 如需詳細資訊和提示,請閱讀: 大型解決方案的效能考量

Team Explorer

修正了 Team Explorer 中的數個程式錯誤:

  • 無法檢視從 Git 存放庫中刪除的檔案內容。
  • 檢視分支的歷史記錄時,當焦點在最新的提交上時,應該停用 [移至子項] 圖示。
  • 使用 Git.exe變更分支時,Visual Studio 可能會當機或進入未知狀態。
  • 檢視 Git 存放庫中分支的歷程記錄時,歷程圖中的醒目提示有故障。
  • 在 Team Explorer 中建立分支時,[建立分支] 的 Alt+B 快捷方式會與 [建置] 功能表衝突。
  • 在高記憶體使用量情況下,當嘗試解壓縮大於可用記憶體的物件時,Git 會發出「找不到物件 - 沒有相符的鬆散物件 (<sha1>)」錯誤,而不是記憶體不足錯誤。
  • 錯誤訊息中的拼字錯誤「...為了打開這個解決方案......“。
  • 當檢視分支歷史並右鍵單擊歷史中的第一個提交時,Cherry Pick 功能會被停用。
  • 從 [小組總管] 分支頁面建立提取要求時,操作功能表會使用目前的分支,而不是選取的分支。

適用於 Visual Studio 的 Xamarin

Visual Studio 2015 Update 3 現在包含 Xamarin 4.1。 除了許多錯誤修正之外,此版本還新增了對 tvOS 的支援、改進了 iOS 資產目錄支援、改進了 XML 編輯體驗,並在建立 iOS 應用程式時新增了 SSL/TLS 和 HttpClient 實作的選取器。 如需詳細資訊,請參閱 Xamarin 版本資訊