Окрім вищезазначених варіантів, є ще кілька рішень.
1. Зміна файлу файлу проекту (.CsProj)
MSBuild підтримує EnvironmentName
властивість, яка може допомогти встановити правильну змінну середовища відповідно до середовища, яке ви хочете розгорнути. Ім'я середовища буде додано до web.config на етапі публікації.
Просто відкрийте файл проекту (* .csProj) і додайте наступний 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>
У Development
наведеному вище коді буде додано ім'я середовища, як для конфігурації налагодження, або якщо конфігурація не вказана. Для будь-якої іншої конфігурації ім'я середовища буде Production
в створеному файлі web.config. Детальніше тут
2. Додавання властивості EnvironmentName до профілів публікації.
Ми також можемо додати <EnvironmentName>
властивість у профілі публікації. Відкрийте файл профілю публікації, який знаходиться за адресою Properties/PublishProfiles/{profilename.pubxml}
Це встановить ім'я середовища в web.config під час публікації проекту. Детальніше тут
<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
3. Параметри командного рядка за допомогою dotnet публікації
Крім того, ми можемо передати властивість EnvironmentName
команді як параметр dotnet publish
командного рядка. Наступна команда включатиме змінну середовища, як Development
у файлі web.config.
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development