Yukarıda belirtilen seçenekler dışında, birkaç başka Çözüm var.
1. Proje dosyası (.CsProj) dosyasını değiştirme
MSBuild, EnvironmentName
Dağıtmak istediğiniz Ortama göre doğru ortam değişkenini ayarlamanıza yardımcı olabilecek Özelliği destekler . Ortam adı, Yayınlama aşaması sırasında web.config dosyasına eklenir.
Proje dosyasını (* .csProj) açın ve aşağıdaki XML'yi ekleyin.
<!-- 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>
Yukarıdaki kod, Development
Debug yapılandırmasında olduğu gibi veya herhangi bir yapılandırma belirtilmemişse ortam adını ekleyecektir . Diğer herhangi bir Yapılandırma için Ortam adı Production
oluşturulan web.config dosyasında olacaktır. Daha fazla ayrıntı burada
2. Yayınlama profillerine EnvironmentName Özelliğini ekleme.
<EnvironmentName>
Mülkü yayın profiline de ekleyebiliriz . İçinde bulunan yayınlama profili dosyasını açın Properties/PublishProfiles/{profilename.pubxml}
Bu, proje yayınlandığında web.config'deki Ortam adını belirleyecektir. Daha fazla ayrıntı burada
<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
3. dotnet publish kullanan komut satırı seçenekleri
Ek olarak, özelliği EnvironmentName
komuta bir komut satırı seçeneği olarak iletebiliriz dotnet publish
. Aşağıdaki komut Development
, web.config dosyasındaki gibi ortam değişkenini içerecektir .
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development