Neben den oben genannten Optionen gibt es noch einige andere Lösungen.
1. Ändern der Projektdatei (.CsProj)
MSBuild unterstützt die EnvironmentName
Eigenschaft, 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 Development
bei der Debug-Konfiguration hinzu oder wenn keine Konfiguration angegeben ist. Bei jeder anderen Konfiguration befindet sich der Umgebungsname Production
in 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 EnvironmentName
als Befehlszeilenoption an den dotnet publish
Befehl übergeben. Der folgende Befehl würde die Umgebungsvariable wie Development
in der Datei web.config enthalten.
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development