净核心环境未切换

时间:2018-03-06 15:08:05

标签: c# asp.net-core .net-core

我无法让我的环境在开发和暂存之间切换。

无论环境变量是什么,它都会暂停。

这是我的launchsettings.json

event_id - job - count

NULL - farmer - 0
NULL - miner - 0
1 - carpenter - 10
1 - farmer - 3
2 - carpenter - 3
2 - miner - 4

无论我使用何种发布配置文件,环境都保持在“暂存”状态

就appsettings.X.json而言,我有3个。

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iis": {
      "applicationUrl": "http://localhost/WebService",
      "sslPort": 0
    },
    "iisExpress": {
      "applicationUrl": "http://localhost:51658/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Staging"
      }
    },
    "WebService": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "http://localhost:51659/"
    }
  }
}

2 个答案:

答案 0 :(得分:1)

您必须通过设置Windows环境变量来设置环境。将使用此环境加载正确的appsettings.json文件。

这可以通过执行

使用命令行来完成
set ASPNETCORE_ENVIRONMENT=Development

This website显示了如何为不同的操作系统设置环境。

答案 1 :(得分:0)

我认为这取决于您使用什么来维护应用程序Docker,IIS或其他东西。

文档说:

  

每个IIS应用程序池

     

为隔离的各个应用设置环境变量   应用程序池(在IIS 10.0+上受支持),请参阅AppCmd.exe命令   环境变量主题部分。

您可能需要在隔离环境中运行应用程序,并且您需要设置该变量。

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments