Además de las opciones mencionadas anteriormente, hay un par de otras soluciones.
1. Modificar el archivo de proyecto (.CsProj).
MSBuild admite la EnvironmentName
propiedad, que puede ayudar a establecer la variable de entorno correcta según el entorno que desea implementar. El nombre del entorno se agregaría en web.config durante la fase de publicación.
Simplemente abra el archivo del proyecto (* .csProj) y agregue el siguiente 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>
El código anterior agregaría el nombre del entorno como Development
para la configuración de depuración o si no se especifica ninguna configuración. Para cualquier otra configuración, el nombre del entorno estaría Production
en el archivo web.config generado. Más detalles aquí
2. Agregar la propiedad EnvironmentName en los perfiles de publicación.
También podemos agregar la <EnvironmentName>
propiedad en el perfil de publicación. Abra el archivo de perfil de publicación que se encuentra en. Properties/PublishProfiles/{profilename.pubxml}
Esto establecerá el nombre del entorno en web.config cuando se publique el proyecto. Más detalles aquí
<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
3. Opciones de la línea de comandos con dotnet publish
Además, podemos pasar la propiedad EnvironmentName
como una opción de línea de comando al dotnet publish
comando. El siguiente comando incluiría la variable de entorno como Development
en el archivo web.config.
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development