Помимо упомянутых выше вариантов, есть еще несколько решений.
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 publish
Кроме того, мы можем передать свойство EnvironmentName
как параметр командной строки dotnet publish
команде. Следующая команда будет включать переменную среды, как Development
в файле web.config.
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development