Partage via


Rechargement à chaud

Cette fonctionnalité nécessite le package NuGet Microsoft.Testing.Extensions.HotReload .

Conseil / Astuce

Lors de l’utilisation de Microsoft.Testing.Platform.MSBuild (inclus transitivement par MSTest, NUnit et les exécuteurs xUnit), cette extension est inscrite automatiquement lorsque vous installez son package NuGet , sans modification du code nécessaire. L’inscription manuelle spécifiée dans cet article n’est requise que si vous avez désactivé le point d’entrée généré automatiquement en définissant <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Inscription manuelle

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

Rechargement rapide

Le rechargement à chaud vous permet de modifier le code source managé de votre application pendant l’exécution de l’application, sans avoir à suspendre manuellement ou à atteindre un point d’arrêt. Effectuez simplement une modification prise en charge pendant l’exécution de l’application et sélectionnez le bouton Appliquer les modifications de code dans Visual Studio pour appliquer vos modifications.

Note

La version actuelle est limitée à la prise en charge du rechargement à chaud en mode console uniquement. Il n’existe actuellement aucune prise en charge du rechargement à chaud dans l’Explorateur de tests pour Visual Studio ou Visual Studio Code.

Note

Le package est fourni avec la licence Microsoft.Testing.Platform Tools restrictive. La licence complète est disponible à https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.0.0/License.

Vous pouvez facilement activer la prise en charge du rechargement à chaud en définissant la variable d’environnement TESTINGPLATFORM_HOTRELOAD_ENABLED sur "1".

Pour les projets de style SDK, vous pouvez ajouter "TESTINGPLATFORM_HOTRELOAD_ENABLED": "1" dans la section environmentVariables du fichier launchSettings.json. L’extrait de code suivant montre un exemple de fichier :

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