Freigeben über


Hot Reload (direktes Neuladen)

Für dieses Feature ist das NuGet-Paket "Microsoft.Testing.Extensions.HotReload " erforderlich.

Tipp

Bei Verwendung von Microsoft.Testing.Platform.MSBuild (transitiv von MSTest, NUnit und xUnit runners eingeschlossen) wird diese Erweiterung automatisch registriert, wenn Sie das NuGet-Paket installieren – keine Codeänderungen erforderlich. Die in diesem Artikel angegebene manuelle Registrierung ist nur erforderlich, wenn Sie den automatisch generierten Einstiegspunkt durch Festlegen <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>deaktiviert haben.

Manuelle Registrierung

var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHost.AddHotReloadProvider();

Hot reload

mit Hot reload können Sie den verwalteten Quellcode Ihrer App ändern, während die Anwendung ausgeführt wird, ohne dass sie manuell angehalten oder einen Haltepunkt erreicht werden muss. Nehmen Sie einfach eine unterstützte Änderung vor, während die App ausgeführt wird, und wählen Sie die Schaltfläche Apply-Codeänderungen in Visual Studio aus, um Ihre Bearbeitungen anzuwenden.

Hinweis

Die aktuelle Version ist nur auf die Unterstützung von hot reload im "Konsolenmodus" beschränkt. Derzeit gibt es keine Unterstützung für hot reload im Test-Explorer für Visual Studio oder Visual Studio Code.

Hinweis

Das Paket wird mit der restriktiven Microsoft.Testing.Platform Tools-Lizenz ausgeliefert. Die vollständige Lizenz ist unter https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.0.0/Licenseverfügbar.

Sie können hot reload Unterstützung ganz einfach aktivieren, indem Sie die Umgebungsvariable TESTINGPLATFORM_HOTRELOAD_ENABLED auf "1" festlegen.

Für PROJEKTE im SDK-Stil können Sie "TESTINGPLATFORM_HOTRELOAD_ENABLED": "1" im Abschnitt environmentVariables der launchSettings.json-Datei hinzufügen. Der folgende Codeausschnitt zeigt eine Beispieldatei:

{
  "profiles": {
    "Contoso.MyTests": {
      "commandName": "Project",
      "environmentVariables": {
        "TESTINGPLATFORM_HOTRELOAD_ENABLED": "1"
      }
    }
  }
}