发布dotnet core 2.0项目时无法设置Enviroment Variable

时间:2018-01-17 17:42:37

标签: c# .net-core ubuntu-16.04 asp.net-core-2.0

我在使用正确的环境设置运行我的dotnet core 2.0 API(在使用.NET Core CLI的Ubuntu 16.04上)时遇到问题。

我加入了"〜/ .bash_profile"以下内容:

vitrualenv

当我运行项目(使用dotnet运行)时,它似乎正常工作,它检测到它应该在暂存时。 但是,当我使用" dotnet publish" 并尝试使用:

运行它
ASPNETCORE_ENVIRONMENT=staging

它似乎没有检测到环境变量,并且始终默认使用"生产"环境。

Startup.cs:

nohup dotnet API.dll --urls "http://*:1337" &> /var/log/dotnetlogs

Program.cs的

public Startup(IHostingEnvironment env)
{
    var builder = new ConfigurationBuilder()
        .SetBasePath(env.ContentRootPath)
        .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
        .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
        .AddEnvironmentVariables();
    Configuration = builder.Build();
}

知道我怎么能让这个工作吗?

1 个答案:

答案 0 :(得分:0)

您是否错过导出The docs还说Linux是区分大小写的,因此您可能希望使用暂存

export ASPNETCORE_ENVIRONMENT=Staging