我在使用正确的环境设置运行我的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();
}
知道我怎么能让这个工作吗?
答案 0 :(得分:0)
您是否错过导出? The docs还说Linux是区分大小写的,因此您可能希望使用暂存。
export ASPNETCORE_ENVIRONMENT=Staging