Condividi tramite


Hot Reload

Questa funzionalità richiede il pacchetto NuGet Microsoft.Testing.Extensions.HotReload .

Suggerimento

Quando si usa Microsoft.Testing.Platform.MSBuild (incluso transitivamente da MSTest, NUnit e runner xUnit), questa estensione viene registrata automaticamente quando si installa il pacchetto NuGet, senza necessità di modifiche al codice. La registrazione manuale specificata in questo articolo è necessaria solo se il punto di ingresso generato automaticamente è stato disabilitato impostando <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Registrazione manuale

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

Hot reload

Hot reload consente di modificare il codice sorgente gestito dell'app mentre l'applicazione è in esecuzione, senza la necessità di sospendere o raggiungere manualmente un punto di interruzione. È sufficiente apportare una modifica supportata durante l'esecuzione dell'app e selezionare il pulsante Applicazione delle modifiche al codice in Visual Studio per applicare le modifiche.

Annotazioni

La versione corrente è limitata al supporto hot reload solo in modalità "console". Attualmente non è disponibile alcun supporto per hot reload in Esplora test per Visual Studio o codice Visual Studio.

Annotazioni

Il pacchetto viene fornito con la licenza restrittiva Microsoft.Testing.Platform Tools. La licenza completa è disponibile in https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.0.0/License.

È possibile abilitare facilmente hot reload supporto impostando la variabile di ambiente TESTINGPLATFORM_HOTRELOAD_ENABLED su "1".

Per i progetti in stile SDK, è possibile aggiungere "TESTINGPLATFORM_HOTRELOAD_ENABLED": "1" nella sezione environmentVariables del file di launchSettings.json. Il frammento di codice seguente mostra un file di esempio:

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