此功能需要 Microsoft.Testing.Extensions.HotReload NuGet 套件。
小提示
當使用 Microsoft.Testing.Platform.MSBuild (MSTest、NUnit 和 xUnit 執行程式可傳遞包含)時,安裝其 NuGet 套件時,此擴充功能會自動註冊——無需修改程式碼。 本文所規定的手動註冊僅在你透過設定 <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>關閉自動產生的入口點時才需要。
手動註冊
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHost.AddHotReloadProvider();
熱重載
熱重載可讓您在應用程式執行時修改應用程式的「managed」原始程式碼,而不需要手動暫停或設置斷點。 只需在應用程式運行時進行支援的變更,然後在 Visual Studio 中選擇 [套用程式碼變更] 按鈕即可套用您的編輯。
備註
目前的版本僅限於僅支援「主控台模式」中的熱重載。 Visual Studio 或 Visual Studio Code 的測試總管目前不支援熱重載。
備註
此套件附帶 Microsoft.Testing.Platform Tools 的限制性授權。 完整授權可在 https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.0.0/License取得。
您可以將 TESTINGPLATFORM_HOTRELOAD_ENABLED 環境變數設定為 "1",輕鬆地啟用熱重載支援。
針對 SDK 樣式專案,您可以在 "TESTINGPLATFORM_HOTRELOAD_ENABLED": "1" 檔案的 [environmentVariables] 區段中新增 launchSettings.json。 下列代碼段顯示範例檔案:
{
"profiles": {
"Contoso.MyTests": {
"commandName": "Project",
"environmentVariables": {
"TESTINGPLATFORM_HOTRELOAD_ENABLED": "1"
}
}
}
}