Poza opcjami wymienionymi powyżej istnieje kilka innych rozwiązań.
1. Modyfikacja pliku projektu (.CsProj)
MSBuild obsługuje EnvironmentNameWł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 Developmentprzypadku konfiguracji debugowania lub jeśli nie określono żadnej konfiguracji. W przypadku każdej innej konfiguracji nazwa środowiska będzie znajdować się Productionw 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ść EnvironmentNamejako opcję wiersza poleceń do dotnet publishpolecenia. Następujące polecenie zawierałoby zmienną środowiskową, taką jak Developmentw pliku web.config.
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development