C# .NET Core如何指定运行应用程序的环境

C# .NET Core如何指定运行应用程序的环境,c#,appsettings,asp.net-core-2.1,C#,Appsettings,Asp.net Core 2.1,我有一个用于我的项目的开发、登台和生产服务器。但是,当我在我的开发服务器上运行项目时,它是在生产模式下运行的。我可以判断,因为它使用的是我的appsettings.Production.json中的值 如何指定我的项目应该从这个特定的服务器以开发模式运行?我尝试过设置环境变量ASPNETCORE\u environment=Development,但没有成功 请帮忙。我不知道这是如何决定使用生产环境的。任何细节都会有所帮助。环境设置是在操作系统的环境变量(即bash配置文件)中设置的 但您可以通

我有一个用于我的项目的开发、登台和生产服务器。但是,当我在我的开发服务器上运行项目时,它是在生产模式下运行的。我可以判断,因为它使用的是我的appsettings.Production.json中的值

如何指定我的项目应该从这个特定的服务器以开发模式运行?我尝试过设置环境变量ASPNETCORE\u environment=Development,但没有成功


请帮忙。我不知道这是如何决定使用生产环境的。任何细节都会有所帮助。

环境设置是在操作系统的环境变量(即bash配置文件)中设置的

但您可以通过设置配置文件在启动时隔离环境设置。带有
--launchprofile
参数的
dotnet run
命令可用于指定要使用的配置文件。这也是VisualStudio在启动应用程序时使用的

如果在launchSettings.json中设置变量集,则需要使用适当的“启动”配置文件进行构建和发布

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:54339/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express-local": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_My_Environment": "1",
        "ASPNETCORE_DETAILEDERRORS": "1",
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "EnvironmentsSample-staging": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Staging"
      },
      "applicationUrl": "http://localhost:54340/"
    }
  }
}

我认为只有VisualStudio才能使用启动设置。我正在尝试从服务器以开发模式运行我的应用程序。Joe,当使用dotnet run命令时,--launch profile参数允许您指定要使用的配置文件。同时,在shell中以其他方式设置环境设置,即bash概要文件。更新了答案。