Poza opcjami wymienionymi powyżej istnieje kilka innych rozwiązań.
1. Modyfikacja pliku projektu (.CsProj)
MSBuild obsługuje EnvironmentName
Właściwość, która może pomóc ustawić odpowiednią zmienną środowiskową zgodnie ze środowiskiem, które chcesz wdrożyć. Nazwa środowiska zostanie dodana w pliku web.config podczas fazy publikowania.
Po prostu otwórz plik projektu (* .csProj) i dodaj następujący kod XML.
<!-- 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>
Powyższy kod dodałby nazwę środowiska, taką jak w Development
przypadku konfiguracji debugowania lub jeśli nie określono żadnej konfiguracji. W przypadku każdej innej konfiguracji nazwa środowiska będzie znajdować się Production
w wygenerowanym pliku web.config. Więcej szczegółów tutaj
2. Dodanie właściwości EnvironmentName w profilach publikowania.
<EnvironmentName>
Właściwość możemy również dodać w profilu publikacji. Otwórz plik profilu publikowania, który znajduje się w Properties/PublishProfiles/{profilename.pubxml}
Spowoduje to ustawienie nazwy środowiska w pliku web.config po opublikowaniu projektu. Więcej szczegółów tutaj
<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
3. Opcje wiersza polecenia wykorzystujące dotnet Publishing
Dodatkowo możemy przekazać tę właściwość EnvironmentName
jako opcję wiersza poleceń do dotnet publish
polecenia. Następujące polecenie zawierałoby zmienną środowiskową, taką jak Development
w pliku web.config.
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development