Visual Studio IconVisual Studio 2017 15.5 版版本資訊


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



注意

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


支援時間範圍

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

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

Visual Studio 部落格

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

Visual Studio 2017 15.5 版的版本


15.5 中值得注意的新功能摘要

15.5 中已修正的常見問題

這些是在此版本中解決的客戶回報問題:

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

The Developer Community Portal


15.5 中新功能的詳細資料

Release Notes IconVisual Studio 2017 15.5.0 版

發行於 2017 年 12 月 4 日

15.5 中的新功能

Visual Studio IDE

設定和安裝
  • 安裝程式現在會在安裝期間產生 Windows 還原點。
  • [新增/移除程式] 現在有每個 Visual Studio 安裝的項目。 Visual Studio 安裝程式現在支援修改與解除安裝每個項目。
  • 離線配置安裝不再需要在中斷連線的電腦上安裝中繼憑證。
  • 我們在安裝及更新程序中新增了可靠性與可取消性改善。
已更新 [錯誤] 對話方塊

我們更新了錯誤對話方塊以顯示詳細資訊,使用 Visual Studio 開發人員社群中可能的解決方案來協助解決安裝問題。 (圖 1)

New installer error dialog box
(圖 1) 新安裝程式錯誤對話方塊
效能
  • 大型 C# 和 Visual Basic 專案已縮減載入時間。
  • 已縮減偵錯和發行間的組態切換時間。
  • 縮短了在 .NET Core 專案中新增、移除檔案與資料夾及重新命名的時間。
  • 因為即使沒有輕量型解決方案載入 (LSL),解決方案載入時間也已縮短,所以即將淘汰 LSL。
已連線的服務
  • 我們更新了 Azure 儲存體服務提供者,來支援以 .NET Core 為目標的 ASP.NET Core 專案。

Team Explorer 更新

Team Explorer 的最新更新皆來自於您在 UserVoice 的意見反應。

您現在可以使用 Git 子模組和工作樹狀結構,在 Team Explorer 中設定 fetch.prunepull.rebase。 Visual Studio 現在會將 Git 子模組和工作樹狀結構視為一般存放庫。 只要將它們新增至您的本機儲存放庫清單,即可動手撰寫程式碼!

請注意,子模組仍無法執行任何需要多存放庫支援的動作 (例如,同時檢視父存放庫的檔案和子模組的檔案)。

此外,現在更容易設定預設的 Git 行為,以剪除每一項擷取及重訂每個提取的基底。 每一項擷取的剪除都會移除不再存在於伺服器的本機追蹤分支,協助您保護分支清單的整潔與最新狀態。 重訂每個提取的基底會讓認可記錄保持線性並更容易追蹤。 您可以在 [全域] 和 [存放庫] 設定中找到這些選項。

.NET Core 與 ASP.NET Core 的資訊安全諮詢

Microsoft 已發行 .NET Core 與 ASP.NET Core 的資訊安全諮詢。 您可以在 .NET CoreASP.NET Core 存放庫的對應公告中找到詳細資料。 請注意下列資訊:

  • CVE-2017-8585 格式錯誤的憑證可能會導致拒絕服務:這是 .NET Core 1.0、1.1 與 2.0 中的安全性弱點,格式錯誤的憑證或其他 ASN.1 格式化資料在 Linux 及 macOS 上可能會因為無限迴圈引發拒絕服務。 建議系統管理員將 .NET Core 執行階段的版本更新到 1.0.8、1.1.5 及 2.0.1。 建議開發人員將 .NET Core SDK 的版本更新到 2.0.3 或 1.1.5。

  • CVE-2017-8700 略過 CORS 會使資訊洩漏:這是 ASP.NET Core 1.0 與 1.1 的資訊安全漏洞,在其中可略過跨原始資源共用 (CORS),而導致資訊洩漏。

  • CVE-2017-11879 Open Redirect 會導致權限提高:這是 ASP.NET Core 2.0 的資訊安全漏洞,當 Open Redirect 存在時,會導致權限提高。

  • CVE-2017-11770 阻斷服務弱點:這是 ASP.NET Core 1.0、1.1 及 2.0 的資訊安全漏洞,當應用程式透過 Windows Http.Sys 裝載時,格式錯誤的要求可能會導致服務阻斷。

使用 ASP.NET Core 1.0、ASP.NET Core 1.1 及 ASP.NET Core 2.0 建立的新專案現在使用包含上述安全性更新的套件版本。 若為現有的專案,使用者可以使用 [管理 NuGet 套件] 對話方塊將其套件更新為較新版本。

MSVC 編譯器工具組

在 Visual Studio 2017 15.5 中,Build Tools 中的 MSVC 編譯器工具組已更新至 14.12 版,與 15.4 版的 14.11 工具組相容。 在升級至 Visual Studio 2017 15.5 之後,發生程式碼編譯問題的事件中,您可以強制並存安裝 14.11 工具組及 14.12 工具組。 安裝 C++ 桌面工作負載之後,您可在 [個別元件] 索引標籤下選取 Visual Studio 2017 15.4 工具組 (14.11)。

C# 編譯器中的新功能

C# 編譯器現在支援 7.2 的語言功能集,包括:

  • 透過 ref struct 修飾詞在整個 Kestrel 和 CoreFX 中使用 Span<T> 類型的支援。
  • readonly struct修飾詞:強制執行 readonly 結構的所有成員。 這會新增程式碼正確性的圖層,並讓編譯器在存取成員時避免複製不必要的值。
  • in 參數 / ref readonly 傳回:允許安全傳遞無法修改的結構,並以和可修改的 ref 值同樣的效率傳回。
  • private protected 存取修飾詞:限制存取 protectedinternal 的交集。
  • 非後置的具名引數:具名引數現在可以用在引數清單的中間,也不需要下列所有引數都按名稱傳遞。

Visual Studio Tools for Xamarin

此版本包含適用於 iOS 和 Android 的 Xamarin SDK 更新支援:

即時執行目前的檢視

有了新的即時執行目前檢視功能 (圖 2),要建置以 XAML 為基礎的使用者介面變得更簡單。 在您建置使用者介面的時,不必儲存、編譯或重新部署應用程式,就能在 Android 模擬器中鍵入並同時看到介面實際效果。

Xamarin Live Player

Xamarin Live Player 能讓開發人員直接在 iOS 和 Android 裝置上持續部署、測試應用程式及對其偵錯。 下載 Xamarin Live Player 應用程式後 (可從 App Store 或 Google Play 取得),您就可以配對裝置和 Visual Studio,僅使用 Visual Studio 和行動裝置就開始建置行動應用程式。 已針對 Xamarin.Forms 進行最佳化,您現在可以修改其 XAML,立即查看反映在裝置上的變更,不必編譯或等候完整部署。 此版本推出許多 Xamarin Live 功能的增強功能,包括:

  • 更智慧的偵錯和即時執行:現在當 Live Player 對 Xamarin Live Player 進行偵錯時,會自動將啟動專案調整到正確的平台 (圖 3)。 例如,如已選取 iOS 而配對的 Live Player 裝置是 Google 像素,IDE 會建議您將啟始專案變更為 Android。
  • 部署狀態:您現在可以使用狀態列的部署狀態追蹤 Xamarin Live Player 的 [偵錯] 狀態。
  • [主控台] 和 [錯誤] 視窗整合:應用程式內所記錄的輸出現在會出現在 [主控台] 視窗中,而錯誤會出現在 Visual Studio 的 [錯誤] 視窗中。
  • 即時執行操作功能表和鍵盤快速鍵:我們希望能輕鬆地立即將 XAML UI 視覺化,所以新增了操作功能表和鍵盤快速鍵,以便快速輕鬆地預覽 XAML 頁面。
  • 即時執行文件切換:建置 UI 時,經常要切換不同的 XAML 文件。 在 Visual Studio 裡變更使用中文件時,會自動即時執行任何已開啟的 XAML 頁面,以便您可輕鬆地在不同頁面間來回切換,並讓它們立即反映在裝置上。
Xamarin Live Player
(圖 3) Xamarin Live Player 配對、部署和即時編輯模式的動畫
範本

iOS、Android 與 Windows 應用程式的跨平台範本精靈更新,讓 [檔案] -> [新增專案] -> [行動應用程式](圖 4) 變得更容易使用,包括:

  • .NET Standard 支援 - 您現在可以建立新的跨平台 Xamarin 應用程式,使用 .NET Standard 2.0 作為程式碼共用策略。
  • 目標平台核取方塊 - 在 [檔案] -> [新增] 選取您重視的平台。
  • PackageReference - 所有範本都預設使用 PackageReference,在 Xamarin 應用程式中管理 NuGet 套件的簡易新方式。
  • 展開效能增強功能 - 範本現在展開的速度應該比以前快。 在最極端的情況下,展開時間最快可以達到 40 倍。
File -> New -> Mobile App
(圖 4) [檔案] -> [新增] -> [行動應用程式] 設定
遠端 iOS 模擬器

遠端 iOS 模擬器提供您更簡易的方法,可以完全從 Windows 上的 Visual Studio 對 iOS 應用程式進行偵錯及測試。 其支援與 Mac 上的 iOS 模擬器完全相同的功能,甚至還包括多點觸控支援! 從 Visual Studio 2017 15.5 版開始,Visual Studio 的每個版本現在都能使用遠端 iOS 模擬器,包括免費的 Community 版本。

Xamarin Android SDK Manager

使用新的 Xamarin Android SDK Manager,管理 Android SDK 更容易。 請前往 Visual Studio 中的 [工具] -> [Android] -> [Android SDK Manager],使用新的 SDK Manager。

F# 工具改進

在 Visual Studio 2017 15.5 版中,我們著重於 .NET Core SDK 專案的 F# 工具支援。 現在支援下列項目:

  • 您可以從 [檔案] > [新增專案],建立新的 .NET Core 主控台應用程式、.NET Standard 程式庫和 .NET Core 單元測試專案。
  • 我們已新增對現有 .NET Core 和.NET Standard 專案的支援。
  • 我們已新增對現有 .NET Core SDK 專案的支援,以 .NET Framework 版本為目標。
  • 支援專案對專案參考。
  • 我們已新增對 Web SDK 專案的支援 (例如,F# ASP.NET Core 專案或使用 Giraffe 範本的專案)。
  • 您現在可以滑鼠右鍵按一下 Web SDK 專案的發行工具。
  • 支援自動產生 CI/CD 管線與 Visual Studio Team Services 工具。

Visual F# 工具也曾有一些改善,但它們不著重於 .NET Core SDK 專案。 其中包含:

  • 從 F# 移至 C# 的 [定義],作者:Saul RennisonVasily Kirichenko
  • 藍色 (更高對比) 佈景主題顏色標示,作者:Microsoft 和 Vasily Kirichenko
  • 屬性頁現在會隨不同的監視器自動調整至正確的大小。
  • 縮排設定為「智慧」時會自動智慧縮排新行,作者:Duc Nghiem Xuan
  • 縮排設定為「智慧」時自動取消右中括號縮排,作者:Saul Rennison
  • 列舉欄位現在在工具提示、尋找所有參考、移至所有項目以及內嵌重新命名中會顯示為符號,作者:Vasily Kirichenko
  • 以換行分隔的 XML 文件註解不會加到目前動態顯示的 XML 文件註解,撰寫者為 Vasily Kirichenko
  • 已更正 ref 關鍵字的 XML 文件,作者:CHBen
  • 多個 Bug 修正和效能改善。

請列出您在 GitHub 存放庫中發現的任何問題。

F# 設定中的變更

我們已變更您獲得 F# 的方式:

  • 如果安裝需要 .NET Core 2.0 的工作負載,根據預設它也會安裝 F# 語言支援。 .NET Core、ASP.NET 和 Azure 工作負載現在都會這麼做。
  • .NET 桌面開發、資料儲存和處理,以及資料科學和分析應用程式工作負載中的 [F# 語言支援] 核取方塊已重新命名為 [F# 桌面支援]。

F# 4.1 編譯器改善

F# 4.1 編譯器在此版本中有許多 Bug 修正:

  • F# 編譯器的 PDB 產生改善,會修正偵錯 F# 2014 年以前的五個已知問題
  • 編譯器不正確解析修正的記錄欄位,作者:Vasily Kirichenko
  • StartAsTask 現在會正確等待取消完成,撰寫者為 Matthias Ditrich
  • 現在只有在屬性中使用類型時,才會建立組件參考。
  • 具有相同大小寫名稱的單一案例結構差別聯集不會再以無訊息模式轉換成物件類型。
  • MailboxProcess 上可能無盡的非同步迴圈。 已修正接收。

Visual C++ 的改善

您現在可透過 [檔案]>[開啟]>[CMake]匯入現有的 CMake 專案及快取設定至 IDE 中。

ARM 線上編譯器匯出的開啟資料夾支援

在內嵌和 IoT 專案的 Linux C++ 工作負載中選擇選項,即可編輯並編譯以 ARM 微控制器為目標的專案。 我們支援開啟從 ARM 線上編譯器匯出為 GCC 的專案,它可以從 Visual Studio 在本機交叉編譯。 如需詳細資訊,請參閱適用於 ARM 開發的 Visual C++的部落格文章。

遠端工作

開啟資料夾現在支援遠端工作。 這些工作是透過安全殼層 (SSH) 在遠端系統執行。 您也可以設定這些工作,將檔案複製到目標電腦以執行在 Linux 系統上編譯程式碼之類的工作。 若要深入了解,請參閱使用 Visual Studio 遠端工作的部落格文章。

標準範本庫改善

開放式標準網站保留多個頁面供群組產生開放式標準。 已新增有關 C++17 標準的標準範本庫改善:

  • not_fn()P0005R4 建議採用程式庫基本概念 TS v2 的 not_fn 函式繫結器,取代舊的否定運算子 not1not2
  • 重新描述 enable_shared_from_thisP0033R1Re-enabling shared_from_this
  • 取代不必要的程式庫組件:P0174R2。 歷年新增已超過 C++ 標準程式庫的功能數,或者我們尚未了解它們的真正以及預期的用途。 這份文件建議取代的功能,能提供更好、更簡單或更清楚的選項。
  • 移除 std::function 中的配置器支援:P0302R1。 類別範本 std::function 有數個建構函式接受配置器引數,但是語意不清楚,而且有在已清除類型內容中儲存配置器,然後又在複製作業期間為所需的任何配置修復該配置器的技術問題。 這些建構函式應該移除。
  • not_fn() 的修正:P0358R1。 在眾多改善中,建議新用字 std::not_fn,它提供在包裝函式引動過程中傳播值類別的支援。
  • shared_ptr<T[]>shared_ptr<T[N]>P0414R2。 將程式庫基本概念中的 shared_ptr 變更合併到 C++17。
  • 修正陣列的 shared_ptrP0497R0。 修正陣列的 shared_ptr 支援。
  • 取代 shared_ptr::unique()P0521R0。 建議的 CA 14 解決方式 (shared_ptr use_count/unique)。
  • 取代 codecvtP0618R0<codecvt> 不是解決 Unicode 轉碼的最佳方式,此程式庫元件應該淘汰至附錄 D。
  • 移除動態例外狀況規格:P0003R5。 動態例外狀況規格在 C++11 中已被取代。 從 C++17 移除此功能,同時保留嚴格作為 noexcept(true) 別名的 (仍) 取代的 throw() 規格。
  • 接合對應與集合:P0083R3。 此設計允許所有種類的接合運算、將項目 (包括地圖索引鍵) 移出容器,以及一些其他有用的作業和設計。 它是關聯和未排序關聯容器的增強功能,支援節點的操作。 這僅會新增至標準程式庫。
  • 釐清 insert_return_typeP0508R0。 具有唯一金鑰的關聯容器和具有唯一金鑰的未排序容器包含傳回巢狀型別 insert_return_type 的成員函式插入。 傳回型別是這一節中指定的特製化類型。
  • STL 的 Inline 變數:P0607R0
Visual C++ 編譯器改善

Visual C++ 編譯器支援約 75% 的 C++17 功能,包括結構化繫結、constexpr Lambda、if constexpr、內嵌變數、摺疊運算式、Hexfloat 常值,以及將 noexcept 新增至型別系統。 /std:c++17 下會提供這些功能。 /permissive- 一致性模式包含兩階段名稱查閱的部分支援,以及 variadic 範本之改善的套件擴充支援。 此外,/permissive- 模式在 C++ 專案的專案屬性中已新增為新的 [語言] 下拉式功能表。

Visual C++ 最佳化工具改善

C++ 程式碼產生小組已改善現有的編譯器最佳化,並在 15.5 版本中新增新的最佳化。

選取連結器改善:

  • 您會體驗更快的 /OPT:ICF 新實作:連結時間最多加速 9%。
  • 我們已修正累加連結。 累加連結絕不會比完全連結慢。

選取現有的最佳化改善:

  • 我們已改善條件運算式的啟發式向量化工具。
  • 我們已改善了 loop-if-unswitching 最佳化。
  • 我們已改善迴圈展開。
  • 我們已改善浮點數的最低/最高 codegen。

選取新的最佳化:

  • 我們已改善並排除 SSA 最佳化工具的備援 (和部分備援) 指示。
  • 我們已最佳化條件式純量存放區的向量化。
  • 我們將 sin(x)cos(x) 呼叫合併至 sincos(x)

Visual C++ 支援 Intel 的 AVX-512,包括將 AVX-512 的新功能整合到 128 和 256 位元寬暫存器的向量長度指令。

C++ 程式碼分析中會傳送超過 20 項新的 C++ Core Guidelines 檢查 。 這些檢查涵蓋智慧型指標正確性、全域初始設定式是否正確使用,並標示 gotobad_cast 等建構的使用。

某些您可以在 15.3 中找到的警告編號,在 15.5 中已不再使用。 這些警告已取代為更明確的檢查。

Google Test 和 Boost.Test 架構的內建支援

在 Visual Studio 中撰寫、探索及執行 Google Test 和 Boost.Test 單元測試。 [測試總管] 現在預設支援 Google Test 和 Boost.Test 架構。 如果要從舊版 Visual Studio 安裝升級,請開啟 Visual Studio 安裝程式,按一下 Visual Studio 執行個體的 [修改],選取 [使用 C++ 的桌面開發] 下的 [適用於 Google Test 的測試配接器] 和 [適用於 Boost.Test 的測試配接器] 方塊。 輕鬆建立新的 Google Test 專案:選取 [檔案] > [新增] > [專案] > [Visual C++] > [測試] > [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++) 頁面。

Visual Studio Web Tools

  • Razor 語法格式已改善。
  • 我們已改善將 ASP.NET 應用程式發佈至 Azure 虛擬機器的體驗。

Docker 容器工具

  • 適用於 Docker 容器的 Visual Studio 工具現在支援多階段 Dockerfile,以簡化最佳化容器映像的建立流程。
  • 如果您是在執行 Windows 10 1709 版或 Windows Server 1709 版的機器上執行 Visual Studio,您的容器映像預設會使用 Windows Server 1709 版。 編輯 Dockerfile 即可變更此項目。 請注意,使用舊版 Windows 的容器映像只會在 HYPER-V 隔離模式中執行 Windows 10 1709 版與 Windows Server 1709 版。 如需詳細資料,請參閱 Windows 容器版本相容性頁面。
  • 根據預設,當您開啟具有 Docker 支援的專案時,Visual Studio 會自動在背景提取、建置及執行執行必要的容器映像。 您可以透過 Visual Studio 中的 [自動在背景中啟動容器] 設定來停用此選項。

TypeScript/JavaScript 改善

Angular 2 支援

Angular2 開發人員現在可以在內嵌範本和 .ngml 範本檔案中看到錯誤、完成度和程式碼導覽。 如需概觀和指示,請參閱範例存放庫

效能改善

我們在 [JavaScript/TypeScript 文字編輯器專案選項] 頁面下,新增了 [只分析含有在編輯器中開啟之檔案的專案] 核取方塊。 此選項會改善在大型解決方案的效能和可靠性。 請注意,勾選此方塊塊,您必須執行解決方案組建,查看所有檔案中的 TypeScript 錯誤完整清單。

我們已修正導致 TypeScript/JavaScript 語言服務所用記憶體超出預期,以及在多專案方案中可能載入錯誤 TypeScript 版本的問題。

Windows Communication Foundation (WCF) 工具

WCF Web 服務參考連線服務提供者 (圖 5) 現在是 Visual Studio 15.5 的一部分。

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

若要使用這項工具,請以滑鼠右鍵按一下 .Net Core 專案的相依性專案項目,並選取 [新增連線服務] 選項,輸入您想要產生程式碼的 Web 服務位址。 所產生的 WCF 用戶端 Proxy 程式碼會儲存到 C# 檔案,自動新增至您的專案。 這可讓 .NET Core 型程式碼與 Web 服務輕鬆通訊。

如需詳細資料,請瀏覽 WCF Web 服務參考在 GitHub 的版本資訊

偵錯和診斷

利用快照集偵錯工具偵錯生產環境內的應用程式

您現在可以使用貼齊點和記錄點,對在 Azure 應用程式服務中執行的 ASP.NET 和 ASP.NET Core 應用程式進行偵錯,將對應用程式的影響降至最低。

  • 設定貼齊點 (圖 6) 以擷取應用程式的狀態,包括區域變數、監看式和呼叫堆疊。 與中斷點不同,您的應用程式遇到快照點時不會停止。
Snappoints image
(圖 6) 貼齊點
  • 使用記錄點 (圖 7) 記錄來自應用程式的新訊息,而不需要新增程式碼或重新部署應用程式。
Logpoints
(圖 7) 記錄點
內嵌來源與內嵌 PDB 支援

有了內嵌來源之後,Visual Studio 偵錯工具現已可直接從 PDB 檔案擷取並使用受控二進位檔的來源檔案。 將內嵌來源與內嵌 PDB 相結合,建立完全獨立的可偵錯二進位檔。 深入了解使用 /embed 編譯器參數。

您現在也可以在使用內嵌 PDB 進行建置時,使用Managed 程式碼的 [編輯後繼續] 偵錯。

使用 IntelliTrace 偵錯時回溯

透過新的 IntelliTrace 偵錯功能,IntelliTrace 會自動在每一個中斷點和偵錯工具步驟建立快照集。 這讓您可以回溯到前面的中斷點或步驟,以檢視應用程式過去的狀態。

這項功能可在 Windows 10 年度更新版 (含) 以上的版本使用,且目前支援偵錯 ASP.NET、WinForms、WPF、受控主控台應用程式及受控類別庫 (圖 8)。 若要啟用這項功能,請移至 [工具]>[選項]>[IntelliTrace] 設定,然後選取 [IntelliTrace 事件與快照集]

Stepback
(圖 8) 使用 IntelliTrace 偵錯時倒退執行

從啟用條件式存取的 Visual Studio 存取 Azure 資源

Visual Studio 現在支援存取啟用條件式的 Azure 資源,它們需要您驗證 2FA,即使您的帳戶本身不需要 2FA。 過去,如果帳戶登入需有 2FA,Visual Studio 會提示輸入 2FA,然後您就可以存取需有 2FA 的任何資源;但如果帳戶不需要 2FA,Visual Studio 就無法存取這些 2FA 資源。

現在,當帳戶不需要 2FA 但資源需要時,您可以不使用 2FA 在 Visual Studio 中驗證帳戶,而當您第一次嘗試存取需要 2FA 的 Azure 資源時,Visual Studio 會提示您重新驗證,並且需有 2FA 才能存取資源。

Windows 市集中適用於 Office 的 Office 工具支援

Office Web 增益集專案及 VSTO 專案現在支援 Windows 市集中使用 Office 的開發。 您可以使用 Windows 市集中的 Office 建立、建置、偵錯及發行 Web 增益集專案和 VSTO 專案。

  • 需有 Windows 10 或 Windows Server 2016 的 Fall Creators Update (1709 版),才能使用 Windows 市集 Office 的 Office 工具。

Visual Studio Tools for Unity

  • Unity 專案現在會在您從 Unity 新增或移除指令碼時,自動重新載入 Visual Studio 中。
  • 已修正使用 IL2CPP/.NET 4.6 後端處理 UWP 遊戲時產生 .Player 專案的問題。
  • 已導入選項,使用 Xamarin 和 Visual Studio for Mac 共用的單聲道偵錯工具偵錯 Unity 編輯器。

即時單元測試

  • Live Unit Testing 的組建現在位在處理程序外,可改善 Visual Studio 中的記憶體使用率。

Windows 封裝

我們在封裝專案中新增了支援,以包含 UWP 應用程式與元件,可協助您從現有的傳統型應用程式使用最新的 Windows 10 功能。 若要納入 UWP 元件,您可以對 UWP 應用程式 Add Reference(圖 9)

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

您可使用存放區套件精靈產生您需要的檔案,將您的傳統型橋接器應用程式提交至存放區,做法與現有 UWP 專案一般。


Release Notes IconVisual Studio 2017 15.5.1 版

發行於 2017 年 12 月 7 日

15.5.1 中已修正的常見問題

這些是在此版本中解決的客戶回報問題:


Release Notes Icon Visual Studio 2017 15.5.2 版

發行於 2017 年 12 月 14 日

15.5.2 中已修正的常見問題

這些是在此版本中解決的客戶回報問題:


Release Notes IconVisual Studio 2017 15.5.3 版

發行於 2018 年 1 月 9 日

15.5.3 中的更新摘要

.NET Core 的 Microsoft 資訊安全諮詢

  • CVE-2018-0786 X509 憑證驗證中的安全性功能略過:Microsoft 發佈此資訊安全諮詢旨在提供 .NET Core 1.0、1.1 及 2.0 公用版本之弱點的相關資訊。 此諮詢也提供了指導,讓開發人員了解如何才能正確地更新應用程式。 此資訊安全諮詢亦適用 .Net Native for UWP。

    Microsoft 發現公用版本的 .NET Core 有一項安全性弱點,攻擊者可以提供標示為無法作特定用途的憑證,但有一個元件會為此用途使用該憑證。 而這項動作會忽略增強金鑰使用方法標記。

    此安全性更新確保該 .NET Core 元件會完整驗證憑證,進而解決此弱點。 建議系統管理員將 .NET Core 執行階段的版本更新到 1.0.9、1.1.6 及 2.0.5。 建議開發人員將 .NET Core SDK 的版本更新到 2.1.4 或 1.1.7。

  • CVE-2018-0764 剖析 XML 文件時發生服務阻斷:Microsoft 發佈此資訊安全諮詢旨在提供 .NET Core 1.0、1.1 及 2.0 公用版本之弱點的相關資訊。 此諮詢也提供了指導,讓開發人員了解如何才能正確地更新應用程式。

    XML 文件的不當處理使 Microsoft 注意到所有公開版本的 .NET Core 中都有阻斷服務的弱點。 成功惡意探索此弱點的攻擊者可能會使 .NET 應用程式發生服務阻斷。 遠端未經驗證的攻擊者可以藉由向 .NET Core 應用程式發出特製要求,來惡意探索此弱點。

    此更新修正了 .NET Core 處理 XML 文件的方式,進而解決此弱點。 建議系統管理員將 .NET Core 執行階段的版本更新到 1.0.9、1.1.6 及 2.0.5。 建議開發人員將 .NET Core SDK 的版本更新到 2.1.4 或 1.1.7。

15.5.3 中已修正的常見問題

這些是在此版本中解決的客戶回報問題:


Release Notes IconVisual Studio 2017 15.5.4 版

發行於 2018 年 1 月 16 日

15.5.4 中已修正的常見問題

這些是在此版本中解決的客戶回報問題:


Release Notes IconVisual Studio 2017 15.5.5 版

發行於 2018 年 1 月 25 日

15.5.5 中的更新摘要

  • MSVC 編譯器已更新並有 /Qspectre 參數的支援,此參數可在編譯器偵測到 Spectre 變體 1 的執行個體時,自動插入推測屏障。 如需有關 /Qspectre 的詳細資訊,請參閱 Visual C++ 小組部落格

15.5.5 中已修正的常見問題

這些是在此版本中解決的客戶回報問題:

  • Xamarin 應用程式會擲回 Cannot access a disposed object. Object name: 'MobileAuthenticatedStream' 錯誤。
  • 當衍生自 Application 類別時,Xamarin.Android 應用程式會擲回 ClassNotFoundException
  • 升級可能導致先前安裝的 Windows 和 Android SDK 解除安裝。
  • 請直接將 JDK 8 升級至最新版本,以避免 Oracle 網站的下載失敗。

Release Notes IconVisual Studio 2017 15.5.6 版

發行於 2018 年 1 月 29 日

15.5.6 中的更新摘要


Release Notes IconVisual Studio 2017 15.5.7 版

發行於 2018 年 2 月 20 日

15.5.7 中的更新摘要

  • Team Explorer 支援 TLSv1.2。 我們已更新了隨附於 Visual Studio 的 Git 和 Git 認證管理員元件。 選擇性的 Git for Windows 元件也已更新。 對於停止支援 TLSv1 與 TLSv1.1 而改為支援 TLSv1.2 的服務,此更新可讓 Git 連線至此類服務。

15.5.7 中已修正的常見問題

這些是在此版本中解決的客戶回報問題:

  • Visual Studio 2017 15.5 版不支援以 .NET Core 2.1 或更新版本為目標的專案。
  • 已修正下列問題:安裝適用於 .NET Core 2.1 或更新版本的 SDK 之後,會使得建立 ASP.NET Core 2.0 Web 應用程式的選項消失。

已知問題

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

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 版本資訊歷程記錄頁面。


頁首