Compartilhar via


Hot Reload

Esse recurso requer o pacote NuGet Microsoft.Testing.Extensions.HotReload .

Dica

Ao usar o Microsoft.Testing.Platform.MSBuild (incluído transitivamente por MSTest, NUnit e xUnit runners), essa extensão é registrada automaticamente quando você instala seu pacote NuGet , sem necessidade de alterações de código. O registro manual especificado neste artigo só será necessário se você desabilitar o ponto de entrada gerado automaticamente definindo <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Registro manual

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

recarregamento rápido

Hot reload permite modificar o código-fonte gerenciado do aplicativo enquanto o aplicativo está em execução, sem a necessidade de pausar manualmente ou atingir um ponto de interrupção. Basta fazer uma alteração com suporte enquanto o aplicativo estiver em execução e selecionar o botão Apply code changes no Visual Studio para aplicar suas edições.

Observação

A versão atual é limitada apenas ao suporte a hot reload no "modo de console". No momento, não há suporte para hot reload no Gerenciador de Testes para Visual Studio ou código de Visual Studio.

Observação

O pacote é fornecido com a licença restritiva Microsoft.Testing.Platform Tools. A licença completa está disponível em https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.0.0/License.

Você pode habilitar facilmente o suporte a hot reload definindo a variável de ambiente TESTINGPLATFORM_HOTRELOAD_ENABLED para "1".

Para projetos no estilo SDK, você pode adicionar "TESTINGPLATFORM_HOTRELOAD_ENABLED": "1" na seção environmentVariables do arquivo launchSettings.json. O snippet a seguir mostra um arquivo de exemplo:

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