Outre les options mentionnées ci-dessus, il existe quelques autres solutions.
1. Modification du fichier de projet (.CsProj)
MSBuild prend en charge la EnvironmentNamepropriété qui peut vous aider à définir la bonne variable d'environnement selon l'environnement que vous souhaitez déployer. Le nom de l'environnement serait ajouté dans le web.config lors de la phase de publication.
Ouvrez simplement le fichier de projet (* .csProj) et ajoutez le XML suivant.
<!-- Custom Property Group added to add the Environment name during publish
The EnvironmentName property is used during the publish for the Environment variable in web.config
-->
<PropertyGroup Condition=" '$(Configuration)' == '' Or '$(Configuration)' == 'Debug'">
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' != '' AND '$(Configuration)' != 'Debug' ">
<EnvironmentName>Production</EnvironmentName>
</PropertyGroup>
Le code ci-dessus ajouterait le nom de l'environnement comme Developmentpour la configuration de débogage ou si aucune configuration n'est spécifiée. Pour toute autre configuration, le nom de l'environnement se trouverait Productiondans le fichier web.config généré. Plus de détails ici
2. Ajout de la propriété EnvironmentName dans les profils de publication.
Nous pouvons également ajouter la <EnvironmentName>propriété dans le profil de publication. Ouvrez le fichier de profil de publication qui se trouve dans le Properties/PublishProfiles/{profilename.pubxml}champ Cela définira le nom de l'environnement dans web.config lors de la publication du projet. Plus de détails ici
<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
3. Options de ligne de commande utilisant dotnet publish
De plus, nous pouvons transmettre la propriété en EnvironmentNametant qu'option de ligne de commande à la dotnet publishcommande. La commande suivante inclurait la variable d'environnement comme Developmentdans le fichier web.config.
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development