Es posible que encuentre esta situación durante el desarrollo:
tengo varios entornos de producción, como el servidor en la nube de Huawei, el servidor en la nube de Alibaba, el servidor en la nube de Tencent, etc., o la máquina virtual 1, la máquina virtual 2, etc. Cada entorno corresponde a un archivo appsettings.json diferente.
Lo que necesito aquí es colocar el paquete de lanzamiento en un entorno diferente y automáticamente se corresponderá con diferentes configuraciones de aplicaciones.
¿Cómo identificar automáticamente el entorno y responder? En realidad es muy simple, pero los tutoriales en Internet se copian y se copian, y se copian, lo que hace que una pregunta simple sea confusa. El siguiente es el discurso oficial.
1. Primero configure las variables de entorno del sistema operativo
Estoy usando la pantalla de Windows aquí
Los nombres de las variables no distinguen entre mayúsculas y minúsculas, pero deben escribirse correctamente.
El valor corresponde a appsettings.xxx.json.
2. Publicar en el entorno correspondiente y luego
Agregue este código a program.cs para probar e inicie el paquete de lanzamiento en el entorno correspondiente.
Resumen final:
De esta forma, no es necesario reemplazar manualmente el archivo de configuración en un determinado entorno de producción, y se puede preparar y organizar con anticipación.
Si la variable de entorno no está configurada, .Net establecerá de forma predeterminada la variable de entorno aspnetcore_environment del sistema actual en Producción.