Neben den oben genannten Optionen gibt es noch einige andere Lösungen.
1. Ändern der Projektdatei (.CsProj)
MSBuild unterstützt die EnvironmentNameEigenschaft, mit deren Hilfe Sie die richtige Umgebungsvariable für die Umgebung festlegen können, die Sie bereitstellen möchten. Der Umgebungsname wird während der Veröffentlichungsphase in der Datei web.config hinzugefügt.
Öffnen Sie einfach die Projektdatei (* .csProj) und fügen Sie das folgende XML hinzu.
<!-- 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>
Der obige Code fügt den Umgebungsnamen wie Developmentbei der Debug-Konfiguration hinzu oder wenn keine Konfiguration angegeben ist. Bei jeder anderen Konfiguration befindet sich der Umgebungsname Productionin der generierten Datei web.config. Weitere Details hier
2. Hinzufügen der EnvironmentName-Eigenschaft in den Veröffentlichungsprofilen.
Wir können die <EnvironmentName>Eigenschaft auch im Veröffentlichungsprofil hinzufügen . Öffnen Sie die Veröffentlichungsprofildatei unter Properties/PublishProfiles/{profilename.pubxml}Dies wird der Umgebungsname in web.config festgelegt, wenn das Projekt veröffentlicht wird. Weitere Details hier
<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
3. Befehlszeilenoptionen mit Dotnet Publish
Zusätzlich können wir die Eigenschaft EnvironmentNameals Befehlszeilenoption an den dotnet publishBefehl übergeben. Der folgende Befehl würde die Umgebungsvariable wie Developmentin der Datei web.config enthalten.
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development