Поделиться через


Горячая перезагрузка

Для этой функции требуется пакет NuGet Microsoft.Testing.Extensions.HotReload .

Подсказка

При использовании Microsoft.Testing.Platform.MSBuild (включается транзитивно msTest, NUnit и xUnit runners), это расширение регистрируется автоматически при установке пакета NuGet — изменения кода не требуются. Регистрация вручную, указанная в этой статье, требуется только в том случае, если вы отключили автоматическую точку входа, задав параметр <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Регистрация вручную

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

горячая перезагрузка

Горячая перезагрузка позволяет изменять исходный код управляемого приложения во время его выполнения без необходимости вручную приостанавливать его или попадать в точку останова. Просто внесите поддерживаемое изменение во время работы приложения и нажмите кнопку Apply code changes в Visual Studio, чтобы применить изменения.

Замечание

Текущая версия ограничена поддержкой hot reload только в режиме консоли. В настоящее время нет поддержки hot reload в Test Explorer для 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"
      }
    }
  }
}