Oltre alle opzioni sopra menzionate, ci sono un paio di altre soluzioni.
1. Modifica del file del file di progetto (.CsProj)
MSBuild supporta la EnvironmentName
proprietà che può aiutare a impostare la giusta variabile di ambiente in base all'ambiente che si desidera distribuire. Il nome dell'ambiente verrebbe aggiunto nel web.config durante la fase di pubblicazione.
Basta aprire il file di progetto (* .csProj) e aggiungere il seguente 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>
Il codice precedente aggiungerebbe il nome dell'ambiente come Development
per la configurazione di debug o se non viene specificata alcuna configurazione. Per qualsiasi altra configurazione, il nome dell'ambiente sarebbe Production
nel file web.config generato. Maggiori dettagli qui
2. Aggiunta della proprietà EnvironmentName nei profili di pubblicazione.
Possiamo aggiungere la <EnvironmentName>
proprietà anche nel profilo di pubblicazione. Apri il file del profilo di pubblicazione che si trova in Properties/PublishProfiles/{profilename.pubxml}
Questo imposterà il nome dell'ambiente in web.config quando il progetto viene pubblicato. Maggiori dettagli qui
<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
3. Opzioni della riga di comando utilizzando dotnet publish
Inoltre, possiamo passare la proprietà EnvironmentName
come opzione della riga di dotnet publish
comando al comando. Il seguente comando includerebbe la variabile d'ambiente come Development
nel file web.config.
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development