この機能には、 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();
ホットリロード (即時再読み込み)
Hot reloadを使用すると、アプリケーションの実行中にアプリのマネージド ソース コードを変更できます。手動でブレークポイントを一時停止またはヒットする必要はありません。 アプリの実行中にサポートされている変更を行い、Visual Studioの Apply コード変更 ボタンを選択して編集を適用するだけです。
注
現在のバージョンは、"コンソール モード" でのみhot reloadをサポートするように制限されています。 現在、Visual StudioまたはVisual Studio コードのテスト エクスプローラーでは、hot reloadはサポートされません。
注
パッケージには、制限付きの Microsoft.Testing.Platform Tools ライセンスが付属しています。 完全なライセンスは、https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.0.0/Licenseで入手できます。
TESTINGPLATFORM_HOTRELOAD_ENABLED 環境変数を "1" に設定することで、hot reloadサポートを簡単に有効にすることができます。
SDK スタイルのプロジェクトの場合は、"TESTINGPLATFORM_HOTRELOAD_ENABLED": "1" ファイルの environmentVariables セクションに launchSettings.json を追加できます。 次のスニペットは、ファイルの例を示しています。
{
"profiles": {
"Contoso.MyTests": {
"commandName": "Project",
"environmentVariables": {
"TESTINGPLATFORM_HOTRELOAD_ENABLED": "1"
}
}
}
}
.NET