Visual Studio 2019 16.8 版的版本資訊
本文內容
Visual Studio 2019 16.8 版的新功能
Visual Studio 2019 16.8.7 版
Visual Studio 2019 16.8.6 版
Visual Studio 2019 16.8.5 版
Visual Studio 2019 16.8.4 版
Visual Studio 2019 16.8.3 版
Visual Studio 2019 16.8.2 版
Visual Studio 2019 16.8.1 版
Visual Studio 2019 16.8.0 版
已知問題
意見反應與建議
部落格
Visual Studio 2019 版本資訊歷程記錄
顯示其他 9 個
開發人員社群
| 系統需求
| 相容性
| 可散發程式碼
| 發行歷程記錄
| 授權條款
| 部落格
| Visual Studio Docs 的新功能
Visual Studio 2019 16.8 版的新功能
此版本現在已不支援。 如需 Visual Studio 支援的詳細資訊,請檢閱 Visual Studio 2019 的支援原則 。
請參閱最新版的版本資訊 ,或造訪 Visual Studio 網站以下載最新支援的 Visual Studio 2019 版本。
Visual Studio 2019 16.8 版
Visual Studio 2019 封存版本資訊
Visual Studio 2019 部落格 是由 Visual Studio 工程小組發行的官方產品見解。 您可以在下列文章中找到有關 Visual Studio 2019 版的深入資訊:
Visual Studio 2019 16.8.7 版
2021 年 3 月 9 日發行
此 Visual Studio 2019 16.8.7 版本中修正的問題
當 Visual Studio 複製惡意存放庫時,就會存在遠端程式碼執行弱點。
由於文字編碼的執行方式,.NET 5 和 .NET Core 中存在遠端程式碼執行弱點。
Visual Studio 2019 16.8.6 版
2021 年 2 月 22 日發行
此 Visual Studio 2019 16.8.6 版本中修正的問題
Visual Studio 2019 16.8.5 版
2021 年 2 月 9 日發行
當 Visual Studio 載入包含 JavaScript 或 TypeScript 程式碼檔案的惡意存放庫時,會存在遠端程式碼執行弱點。
在 X509 憑證鏈結建置期間建立 HTTPS Web 要求時,存在拒絕服務弱點。
當圖形介面仍然參考中繼檔時處置中繼檔,會存在遠端程式碼執行弱點。 此弱點只存在於 MacOS 或 Linux 上執行的系統上。
此 Visual Studio 2019 16.8.5 版本中修正的問題
已修正 x86 Microsoft.VCLibs Appx 安裝在 ExtensionSDK 下使用正確簽章更新的問題。
已修正使用 C++ DesignTime 功能時的記憶體流失。
已修正將現有資料庫匯入 SSDT 專案時未記住密碼時,會發生例外狀況的問題。
已修正客戶第一次將 .NET Core 專案發佈至資料夾或其他主機目標時停用發佈按鈕的問題。
已修正開發人員開啟發行設定檔檢視頁面時偶爾發生的停止回應。
新增了 Xcode 12.4 支援。
Visual Studio 2019 16.8.4 版
發行於 2021 年 1 月 12 日
當診斷中樞標準收集器未正確處理資料作業時,即會存在權限提升弱點。
當 Visual Studio 安裝程式嘗試顯示惡意 Markdown 時,即會存在遠端程式碼執行弱點。
Kestrel 剖析 HTTP/2 要求的方式中有拒絕服務弱點。
此 Visual Studio 2019 16.8.4 版本中修正的問題
修正了若先前已從舊版 Visual Studio 中 Visual Studio Marketplace 安裝 IntelliCode 時,可能無法安裝專門用於 C# 之 IntelliCode 元件的問題
當 PackageReference 專案參考具有 PackageReference 相依性的 packages.config 專案時,現在會遵守可轉移的專案參考。
新增了 Xcode 12.3 支援。
修正了 x86_64 watchOS 7.0 以上版本的模擬器支援
我們已修正誤判 (C33001 ~ C33005) 以使用從函式傳回的 VARIANT。
修正在關閉專案或解決方案時,WinForms .NET Core 設計工具中的間歇性 VS 當機。
已修正資料庫專案: 從方案總管將檔案拖曳至已開啟的檔案時,會從檔案系統中刪除檔案的問題!
已修正按一下 [SQL 結構描述比較] 上的 [更新] 時,不會將變更儲存至 sqlproj 檔案
已修正組建失敗且錯誤「找不到資料表/資料行」的錯誤 (bug)。
修正 [Team Explorer -> 分支] 中的 [合併後提交] 核取方塊。
已修正在檢查更新時,Visual Studio 可能會沒有回應數秒的錯誤。
DeploymentAppRecipe.exe 工具現在支援從任何目前目錄執行。 它現在也會在部署失敗時傳回非零傳回值,並將錯誤訊息列印至標準錯誤資料流。
Visual Studio 2019 16.8.3 版
發行於 2020 年 12 月 8 日
當 Visual Studio 複製惡意存放庫時,就會存在遠端程式碼執行弱點。
此 Visual Studio 2019 16.8.3 版本中修正的問題
已修正在父類別外部定義巢狀函式範本時發生內部編譯器錯誤的問題。
修正了在非靜態資料成員的初始設定式中使用 'this' 時,引發不正確的錯誤 C2355。
已修正使用 /analyze:ruleset 選項搭配 /analyze:rulesetdirectory 和/或 /analyze:projectdirectory 選項時自訂規則集的規則集載入錯誤。
已修正使用 WinForms .NET Core 設計工具時,Visual Studio 中發生間歇性損毀的問題。
.NET 5.0.1 插入到 Visual Studio 16.8.3 版
已修正某些 UI 內容啟用工具視窗可能造成 Visual Studio 損毀的問題。
已修正沒有 Git 遠端追蹤分支時,從管理分支頁面推送的問題。
已新增 Xcode 12.2 支援。
Visual Studio 2019 16.8.2 版
於 2020 年 11 月 19 日發行
此 Visual Studio 2019 16.8.2 版本中修正的問題
已修正迴圈中的最佳化 Bug。
已修正實作保證複製省略 (C++17 功能) 的內部編譯器錯誤。
已修正因大量使用匿名型別而導致組建效能衰退的問題。
已解決在編輯 C# 程式碼時,會出現包含「指定的引數超出有效值範圍」訊息的金色列問題。
已修正在建置具有 T4 範本的專案時,可能會造成 MissingMethodException 的問題。
已修正 [新增專案] 對話方塊中的搜尋可能傳回零個結果的問題。
Visual Studio 2019 16.8.1 版
2020 年 11 月 12 日發行
此 Visual Studio 2019 16.8.1 版本中修正的問題
已修正在複製 Team Explorer 中存放庫時,會彈出「未正確載入 'SourceExplorerPackage' 套件。」 警告的高影響問題。 當使用者發生此問題時,會導致產品停止回應。
Visual Studio 2019 16.8.0 版
2020 年 11 月 10 日發行
Visual Studio 2019 16.8 版發行版本的新功能摘要
F# :
F# 5 現在與 .NET 5 一起發行
透過 F# 工具版本 11.0.0 之 Visual Studio 工具的效能改進與修正
GitHub 上提供的完整版本資訊
C++ :
偵錯工具 :
.NET Core Linux 核心傾印偵錯支援
.NET 和 .NET Core 自動分析
.NET 和 .NET Core 記憶體最忙碌路徑自動分析
實驗性 Razor 編輯器更新 :
Blazor 燈泡
C# 燈泡
增強的 Razor 格式設定
從 .razor 檔案重新命名標記中的 Razor 元件
在 Blazor 元件標籤命名空間上移至定義
C# 暫留顏色標示
C# 完成工具提示顏色標示
Razor 的移至定義/實作,包括已關閉的檔案
已關閉 Razor 檔案中的 [尋找所有參考]
改進了 Razor 編輯效能與大型專案及解決方案的穩定性
含 SDK 樣式專案的 Fakes :
使用 SDK 樣式專案的新 Fakes 支援時,有些使用者會在產生填充碼時遇到下列錯誤
Git 生產力 :
深入了解如何使用新的線上文件 中的所有 Git 功能
隨時透過 [Git 變更] 視窗、[檢視] 功能表與狀態列來開啟 [Git 存放庫] 視窗
在 [Git 變更] 視窗中從多個遠端擷取、提取及推送
在 [Git 存放庫] 視窗頂端檢視 Git 命令的成功與錯誤訊息
從 Azure DevOps 工作項目建立新的分支
從 Git 功能表的本機存放庫清單中開啟 Git 存放庫
預設的原始程式碼控制提供者現在是 Git,而不是 TFVC
按一下以在 [Git 存放庫] 視窗中於分支記錄之間切換
在開啟存放庫後,在 [方案總管] 中從解決方案清單檢視並選取
修改歷程記錄檢視,並透過 Git 存放庫視窗中的工具列搜尋認可
從分支歷程記錄圖中的傳入與傳出認可區段擷取、提取及推送
將分支推送到遠端後,系統會提示您建立提取要求
在分支清單操作功能表的合併和重訂基底命令中檢視分支名稱
透過方案總管和編輯器中的操作功能表來存取 Git 命令
透過新的強制回應對話方塊 (含有將流程移至背景的選項) 觀察複製進度
IntelliCode :
在 in Visual Studio 文件 中取得個人化 IntelliCode 完成
使用程式碼基底讓您的 IntelliCode 完成保持在最新狀態,並在您的小組 CI 工作流程文件 中共用
.NET 生產力 :
Roslyn 分析器現在包含在 .NET 5.0 SDK 中
有一個重構功能,其引進新的 C# 9 not
模式比對語法 (當隱藏運算子存在時)
內嵌方法重構,以協助取代單一陳述式主體內的靜態、執行個體與擴充方法的用法
程式碼修正,可將 typeof
的執行個體轉換為 C# 中的 nameof
,並將 GetType
轉換為 Visual Basic 中的 NameOf
C# 與 Visual Basic 支援內嵌參數名稱提示,其會在函式呼叫中的每個引數之前插入常值、轉換常值與物件具現化的裝飾
會將所選取類別中的成員擷取至 C# 與 Visual Basic 中之新基底類別的重構
程式碼清除有新的設定選項,可以在您的 EditorConfig 檔案中,對單一檔案或整個解決方案套用格式設定與檔案標頭喜好設定
程式碼修正,可移除不應以傳址方式傳遞引數的 in
關鍵字
引進新的 C#9 模式組合器與模式比對建議,例如將 ==
轉換成在適用的情況下使用 is
的重構
當您嘗試在非抽象的類別中寫入抽象方法時,程式碼修正可讓類別抽象化
輸入第一個引號時,會自動顯示 DateTime 與 TimeSpan 字串常值中的 IntelliSense 完成
程式碼修正以移除不必要的 pragma suppressions
與不必要的 SuppressMessageAttributes
Rename
與 Find All References
了解全域 SuppressMessageAttributes
之目標字串內的符號參考
在 Visual Basic 中,ByVal 淡出以表示其不需要搭配程式碼修正來移除不必要的 ByVal
有多個執行階段的互動視窗支援,例如 .NET Framework 與 .NET Core。
已新增新的 RegisterAdditionalFileAction API,可讓分析器作者為其他檔案建立分析器。
Visual Studio 2019 IDE :
使用帳戶管理體驗來新增您的 Github 帳戶
在此版本中,舊版「檔案中尋找」體驗已淘汰,而所有使用者都將移至新的體驗。 編輯小組正與在開發人員社群中留下意見反應的使用者合作,他們在最新的「檔案中尋找」體驗中遇到了問題。
ClickOnce 發行提供者現在可供 .NET Core 3.1 與 .NET 5.0 Windows 傳統型應用程式使用。
在測試總管的 [測試詳細資料] 窗格中將文字換行 :
現在,您可以在測試總管的 [測試詳細資料] 窗格中將文字換行。
XAML 工具 (WPF、UWP 與 Xamarin.Forms) :
XAML 繫結失敗診斷改善
XAML 熱重新載入設定已移至 [偵錯] > [熱重新載入]
從未參考的 NuGet 套件填入工具箱
JavaScript/TypeScript :
JavaScript/TypeScript 偵錯工具現在支援同時對服務背景工作角色、Web 背景工作角色、iFrame 和您的網頁 JavaScript 進行偵錯! 此外,新的偵錯體驗加入了在瀏覽器中同時對後端節點伺服器應用程式與用戶端 JavaScript 進行的支援。 此功能仍為實驗性。 您可以在 [偵錯選項] 功能表中啟用新的偵錯體驗
您現在可以使用程式碼動作快速鍵 (Crl + .) 來在任何重構可用的地方觸發重構。 您甚至不需要選取任何文字 - TypeScript 現在足夠聰明,可以查看您的游標位置以尋找最佳可用重構!
您現在可以微調 TypeScript 會針對自動匯入完成搜尋哪些套件。 這可能可以在某些具有許多相依性的專案中改善效能。 如需詳細資訊,請參閱 TypeScript 4.0 (版本資訊)[https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html]
我們在輸出窗格中新增了一則訊息,顯示我們要安裝哪些類型來支援 intellisense。 建議您將 tsconfig 新增至您的專案,以自訂要使用的類型。
請注意,我們包含 TypeScript 4.0 編譯器與語言服務
當適用於 Visual Studio 的 Python 工具建立 [python27] 資料夾時,會存在竄改弱點。 攻擊者若成功探索此弱點,即可在權限提升的內容中執行處理序。
已修正在 Visual Studio 2019 16.7 中使用 Intel C++ 編譯器的 80 位元長雙精度發出編譯器錯誤,導致專案無法建置的問題。
已修正 Live Unit Testing 在某些情況下拒絕啟動的問題。
.NET 5.0.RC2 已新增至 Visual Studio 2019 v16.8 Preview 4
已修正偶爾 Git 作業會開始但永遠不會完成的錯誤 (Bug)。
已在 Visual Studio Codespaces 建立與連接中新增額外的功能。
修正了在關閉或離開 ASP.NET Core 解決方案時,導致 Visual Studio 2019 損毀或停止回應的 Bug。
已修正在解除安裝並重新安裝 Visual Studio 2019 之後,無法載入 C++ 專案系統的問題。
Visual Studio 2019 16.8.0 版的新功能詳細資料
輸入時 linter
.NET Core Linux 核心傾印偵錯支援
在 Windows 上偵錯受控 Linux 核心傾印到目前為止一直是很棘手的情況,因為這通常表示要設定另一個完全鏡像生產的 Linux 環境,然後安裝一套用於分析的工具。 幸好有了 Visual Studio 2019 16.8 Preview 3,您只要將受控 Linux 核心傾印直接拖放到 IDE 即可立即開始偵錯。
.NET 自動分析
.NET 平台上的非同步 (async) 程式設計已有數年歷史,但始終不能盡如人意。 我們引進了受控記憶體傾印分析器,以利識別下列情節與反模式:
.NET 和 .NET Core 記憶體最忙碌路徑自動分析
這可讓客戶使用記憶體診斷工具視窗中的火焰註釋,以直觀地檢視佔滿記憶體堆積的主要物件類型。
使用 SDK 樣式專案的 Fakes 會產生填充碼問題
使用 SDK 樣式專案的新 Fakes 支援時,有些使用者會在產生填充碼時遇到下列錯誤。
Cannot generate shim for System.DateTime: type is not supported because of internal limitations
在 16.8 Preview 3 中已發行針對此問題的修正程式。 如果您使用的是 16.7.* 版本,您可以使用下列因應措施:
將 <FakesUseV2Generation>False</FakesUseV2Generation> 新增至 csproj 檔案中的 PropertyGroup。
將 <Fakes Include="Fakes\*.fakes" /> 新增至 csproj 檔案中的 ItemGroup。
在 ProjectDir/Fakesassemblies 中將參考新增至產生的 Fakes 組件。
您也可以追蹤開發人員社群意見反應 來取得其他更新。
新的實驗性 Razor 編輯器現在支援下列 Razor 編輯功能:
Blazor 燈泡:
解壓縮至程式碼後置*:
從標籤建立元件*
為元件新增 @using
指示詞
完整限定元件標籤名稱
C# 燈泡
增強的 Razor 格式設定
從 .razor 檔案重新命名標記中的 Razor 元件
在 Blazor 元件標籤名稱上移至定義
C# 暫留顏色標示
C# 完成工具提示顏色標示
已關閉 Razor 檔案中的 [尋找所有參考]
改進了 Razor 編輯效能與大型專案及解決方案的穩定性
* 僅適用於本機 Razor 案例,在 Codespaces 或 Live Share 中尚不支援。
若要啟用實驗性 Razor 編輯器,請移至 [工具] >[選項] >[環境] >[預覽功能] ,選取 [Enable experimental Razor editor] \(啟用實驗性 Razor 編輯器\),然後重新啟動 Visual Studio。
使用熟悉的 Visual Studio 帳戶管理體驗來新增 GitHub 帳戶。 然後,版本控制、整合式終端機及其他功能就能提升帳號憑證,以滿足其 GitHub 驗證需求。
在 Visual Studio 中新增 GitHub 帳戶
ClickOnce 發行提供者現在可供 .NET Core 3.1 與 .NET 5.0 Windows 傳統型應用程式使用。 若要開始使用,請以滑鼠右鍵按一下 [方案總管] 中的專案,或選取 [建置] > [發行] <[AppName]> 功能表。 您可以在 [資料夾類別] 底下找到 ClickOnce。
Visual Studio 中的 ClickOnce 發行提供者
從 Azure DevOps 工作項目建立新的分支
從工作項目建立新的分支
從 Git 功能表的本機存放庫清單中開啟 Git 存放庫
Git 功能表中的本機存放庫清單
預設的原始檔控制提供者現在是 Git,而不是 TFVC,這可從 [工具] - [選項] - [原始檔控制] 變更
按一下以在 [Git 存放庫] 視窗中於分支記錄之間切換
在開啟存放庫後,在 [方案總管] 中從您存放庫中的解決方案清單檢視並選取
預覽功能切換開關,可在開啟存放庫時顯示檢視清單 方案總管中的檢視清單
.NET 編譯器平台 (Roslyn) 分析器會檢查 C# 或 Visual Basic 程式碼以找出安全性、效能、設計和其他問題。 從 .NET 5.0 開始,這些分析器即隨附於 .NET SDK 。 預設已針對以 .NET 5.0 或更新版本為目標的專案啟用分析器。 您可將 EnableNETAnalyzers 屬性設為 true 來啟用以舊版 .NET 版本為目標的專案上程式碼分析。 您可將 EnableNETAnalyzers 設為 false 以停用專案的程式碼分析。 您也可以使用 [專案屬性] 視窗來啟用/停用 .NET 分析器。 若要存取 [專案屬性] 視窗,請以滑鼠右鍵按一下 [方案總管] 中的專案,然後選取 [屬性] 。 接著,選取 [程式碼分析] 索引標籤,在此選取或清除啟用 .NET 分析器 的核取方塊。
啟用 .NET 分析器的 [專案屬性] 視窗
現在有一個重構功能,其引進新的 C# 9 not
模式,可在隱藏的運算子出現時比對語法。 將游標放在隱藏項目運算子上。 按下 (Ctrl+ +. ),以觸發 [快速動作與重構] 功能表。 選取 [使用模式比對] 。
重構 C# 9 not 模式比對語法的引入
現在有一種重構的內嵌方法,其可協助以移除原方法宣告的選項來取代在單一陳述式主體內使用的靜態、執行個體和擴充方法。 請將游標放在使用的方法上。 按下 (Ctrl+ +. ),以觸發 [快速動作與重構] 功能表。 然後選取下列其中一個選項:
選取 內嵌 <QualifiedMethodName>
以移除內嵌方法宣告:
移除宣告的內嵌方法重構
選取 內嵌並保留 <QualifiedMethodName>
以保留原始方法宣告:
保留宣告的內嵌方法重構
從依照 EditorConfig 程式碼樣式設定的範本建立新 C# 或 Visual Basic 的檔案。 建立新檔案時,會自動套用下列程式碼樣式:檔案標頭、使用指示詞排序,以及將 using 指示詞放在命名空間內部/外部。
現在 C# 與 Visual Basic 支援內嵌參數名稱提示 ,其會在函式呼叫中的每個引數之前插入常值、轉換常值與物件具現化的裝飾。 您必須先開啟此選項,其位在 [工具] >[選項] >[文字編輯器] >[C#] 或 [Basic] >[進階] ,然後選取 [Display inline parameter name hints (experimental)] \(顯示內嵌參數名稱提示 (實驗性)\)。 然後,內嵌參數名稱提示就會在 C# 或 Visual Basic 檔案中顯示。
內嵌參數名稱提示
您現在可以使用新的擷取基底類別 重構,將所選類別中的成員擷取至新的基底類別。 將游標放在類別名稱或反白顯示的成員上。 按下 (Ctrl+ +. ),以觸發 [快速動作與重構] 功能表。 選取 [Pull member(s) up to new base class] \(將成員向上提取到新基底類別\)。 新的 [Extract Base Class] \(擷取基底類別\) 對話方塊隨即開啟,您可以在其中指定基底類別的名稱,以及要放置該類別的位置。 您可以選取要傳輸至新基底類別的成員,然後選取 [抽象化] 欄中的核取方塊,將成員抽象化。
擷取基底類別
一旦您選取 [確定] ,您將會看到新的基底類別與其成員一起加入。
針對 C#,選取 [將 typeof
轉換成 nameof
] :
將 typeof 轉換為 nameof
針對 Visual Basic,選取 [將 GetType
轉換成 NameOf
] :
將 GetType 轉換成 NameOf
程式碼清除 \(部分機器翻譯\) 有新的設定選項,可以在您的 EditorConfig \(部分機器翻譯\) 檔案中,對單一檔案或整個解決方案套用格式設定與檔案標頭喜好設定。
程式碼清除中的格式設定與檔案標頭支援
現在有新的程式碼修正,可移除不應以傳址方式傳遞引數的 in
關鍵字。 將游標放在錯誤上。 按下 (Ctrl+ +. ),以觸發 [快速動作與重構] 功能表。 選取 [移除 'in' 關鍵字] 。
移除關鍵字程式碼修正中的 `in`
現在有了引進全新 C#9 模式組合器的重構。 除了在適用的情況下建議模式比對將 ==
轉換為使用 is
之外,此程式碼修正也會在比對多個不同的模式與否定時,建議使用 and
、or
及 not
模式組合器。 將游標放在陳述式中。 按下 (Ctrl+ +. ),以觸發 [快速動作與重構] 功能表。 選取 [使用模式比對] 。
引進 C#9 模式組合器
現在,當您嘗試在非抽象的類別中寫入抽象方法時,程式碼修正可讓類別抽象化。 將游標放在方法錯誤上。 按下 (Ctrl+ +. ),以觸發 [快速動作與重構] 功能表。 選取 [將類別設為「抽象」] 。
[將類別設為抽象]
在 16.7 版 Preview 1 中,我們於 DateTime 與 TimeSpan 字串常值中新增了 IntelliSense 完成。 在此版本中,當輸入第一個引號時,此完成清單會自動出現。 在過去,必須鍵入 (Ctrl +space ) 才能檢視這份完成清單。 將游標放在 DateTime 或 TimeSpan 字串常值內,然後鍵入第一個雙引號。 您接著將會看到完成選項,以及每個字元所代表之意思的說明。 系統會同時提供日期時間格式和範例。
DateTime 和 TimeSpan 字串常值中的 IntelliSense 完成
當您鍵入冒號時,這項改進也適用於插入字串
現在有新的程式碼修正,可移除不必要的 pragma 隱藏項目,以及不必要的 SuppressMessageAttributes
。 將游標放在 SuppressMessageAttribute
的pragma 警告上。 按下 (Ctrl+ +. ),以觸發 [快速動作與重構] 功能表。 選取 [移除不必要的隱藏項目] 。
移除不必要的 Pragmas
移除不必要的 SuppressMessageAttributes
[重新命名] 和 [尋找所有參考] 現在了解全域 SuppressMessageAttribute
隱藏項目之目標字串內的符號參考。
重新命名 SuppressMessageAttribute
尋找 SuppressMessageAttribute 的所有參考
Visual Basic 有多種傳遞參數的方式,ByVal 及 ByRef ,而長久以來 ByVal 則為選擇性。 我們現在淡出 ByVal 來表示其為非必要,並以程式碼修正來移除不必要的 ByVal 。 將游標放在 ByVal 關鍵字上。 按下 (Ctrl+ +. ),以觸發 [快速動作與重構] 功能表。 選取 ['ByVal' 關鍵字為非必要,而且可以移除] 。
Visual Basic 移除 ByVal 重構
現在有多個執行階段的互動式視窗支援,例如 .NET Framework 和 .NET Core。
.NET Core 中的互動式視窗支援
新的 RegisterAdditionalFileAction API,可讓分析器作者為其他檔案建立分析器。
這個功能廣受眾人要求,可讓使用者將選取的文字換行或保留預設文字對齊方式。 當不使用文字對齊時,您可以透過換行更輕鬆讀取測試執行的反應狀況,而不需要水平捲軸。 您可以透過測試總管的設定功能表或 [摘要] 窗格的操作功能表啟用此功能。
測試設定功能表 透過右鍵操作功能表,將測試詳細資料的文字換行
XAML 繫結失敗診斷改善
處理 WPF、UWP、WinUI 與 Xamarin.Forms 的開發人員通常必須在其應用程式中偵測並解決 XAML 資料繫結失敗。 為了改善此案例中的診斷工具,我們已新增兩個新的體驗到 Visual Studio 2019 16.8 版或更新版本:
XAML 繫結失敗指標圖示: 新的 XAML 繫結失敗指標圖示現在會出現在 WPF 與 UWP 專案的應用程式內工具列中,以及包含 Xamarin.Forms 之所有 XAML 專案中的即時視覺化樹狀結構中。 如果偵測到至少一個繫結失敗,此圖示將會顯示紅色指標。 按一下該圖示也會將您帶到新的 [XAML 繫結失敗] 視窗。
繫結失敗圖示 (應用程式內工具列)
XAML 繫結失敗視窗: 新的 [XAML 繫結失敗] 視窗現在已可供 WPF、UWP、WinUI 與 Xamarin.Forms 專案使用。 這個新的專用體驗會針對繫結失敗資訊提供豐富的使用者介面,這先前僅在輸出視窗中提供。 改進功能包括將失敗視為一組可排序、自訂且可以完全搜尋的資料行。 我們也將類似的錯誤分組在一起,以限制在資料繫結範本失敗的特定組合期間可能發生的雜訊,同時仍然讓所有原始未經處理的錯誤資訊都可供使用,並可透過右鍵功能表選項輕鬆地複製。 (注意:需要 Xamarin 4.5.0.266-pre3 版或更新版本)
瀏覽至來源以進行繫結失敗: 與 WPF 小組合作,我們為那些以 .NET 5 (RC2 或更高版本) 上的 WPF 為目標的客戶啟用了瀏覽至繫結失敗來源的功能。。
XAML 繫結失敗視窗與 LVT 圖示
XAML 熱重載
Xamarin.Forms「僅變更」XAML 熱重新載入現在支援 UWP: 在此版本中,我們開始推出許多使用者所要求功能 \(英文\) 的支援,可在以 UWP 為目標的 Xamarin.Forms 專案中,支援新的僅變更 XAML 熱重新載入。 請注意,此功能仍在開發中,而編輯 XAML 現在會在執行中的應用程式中觸發更新。其他功能,例如應用程式內工具列 (元素選取等) 尚未完全實作,但將包含在未來的發行版本中。
XAML 熱重載設定已移至 「偵錯 > 熱重新載入: 在此版本中,我們已將 WPF、UWP 和 Xamarin.Forms 的 XAML 熱重新載入設定合併到 [偵錯 > 熱重新載入] 下方的統一設定畫面。 我們也第一次啟用在每個平台上停用或啟用 XAML 熱重新載入的功能,可讓您完全掌控此功能的可用時間。 (注意: 在此移轉期間將不會變更任何設定,因此您的所有現有選擇在此新位置都會繼續保持有效)
XAML 熱重新載入合併設定
XAML 程式碼編輯器:
WinUI 3.0 IntelliSense 支援: 在此版本中,我們已針對使用新的 WinUI 3.0 Preview 3 或更新版本來建置應用程式的開發人員啟用更好的 IntelliSense 支援。 若要深入了解 WinUI 3.0,請參閱文件 ;若要提供意見反應,請瀏覽 Windows UI XAML GitHub 存放庫 \(英文\)。 注意: 建議在 16.9 Preview 1 上使用最新的 WinUI 3.0 預覽版,以取得更新的工具體驗。
改善 MVVM 支援: 撰寫 XAML 文件時,您可設定 d:DataCoNtext,以為 XAML 文件取得精確的繫結 IntelliSense。 過去,以手動方式指定資料內容類型很麻煩,您必須離開 XAML 文件、尋找所需的檢視模型類型、將其命名空間和名稱複製貼入 d:DataCoNtext 宣告中。
我們在此版本中引進的新功能可供透過會建議可能檢視模型候選項目的燈泡,以快速宣告 d:DataCoNtext。
適用於 MVVM d:DataContext 的 XAML IntelliSense
擴充性
從未參考的 NuGet 套件填入工具箱: 在此版本中,我們新增了在使用未參考的 NuGet 套件控制項填入工具箱 時,對 TargetFrameworkMoniker 特定 VisualStudioToolsManifest.xml 檔案的支援。 例如,您的套件可向 .NET Core 3.1 和 .NET 5.0 專案公開不同的控制項集合。
遵循以下連結,查看所有已知問題和 Visual Studio 2019 中可用的因應措施。
我們很希望聽聽您的意見! 若有任何問題,請透過安裝程式或 Visual Studio IDE 本身右上角的回報問題 選項來通知我們。 圖示位在右上角。
您可以在 Visual Studio 開發人員社群 中提出產品建議或追蹤您的問題,也可以提出問題、尋找解答及提議新功能。
您也可以透過我們的即時聊天支援 取得免費的安裝協助。
善用「開發人員工具部落格」網站中的見解與建議,讓您能夠隨時取得所有新版本的最新資訊,以及涵蓋各類功能的深入探討文章。
Visual Studio 2019 版本資訊歷程記錄
如需舊版 Visual Studio 2019 的相關詳細資訊,請參閱 Visual Studio 2019 版本資訊歷程記錄 頁面。
頁首