运行我的ASP.NET核心应用程序使用DNX,我可以从命令行设置环境变量,然后像这样运行:

set ASPNET_ENV = Production
dnx web

在1.0中使用相同的方法:

set ASPNETCORE_ENVIRONMENT = Production
dotnet run

不工作-应用程序似乎无法读取环境变量.

Console.WriteLine(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"));

返回空值

我遗漏了什么?

推荐答案

你的问题是大约=个空格.

这将起作用(在结束报价前注意空格):

Console.WriteLine(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT "));

本代码中ASPNETCORE_ENVIRONMENT后的空格不是打字错误!问题是(在场景中)有额外的空间,因此,必须在GetEnvironmentVariable()中使用相同的空间.

Isantipov in a comment所述,更好的解决方案是完全从SET命令中删除空格:

set ASPNETCORE_ENVIRONMENT=Production

Asp.net相关问答推荐

从数据库中检索数据的最快方法

ASP.NET 如何将控件呈现为 HTML?

取消选中时 ASP.NET CheckBox 不会触发 CheckedChanged 事件

用于链接字符串中的 url 的 C# 代码

在使用网络服务器加载它们之前,如何编译 Asp.Net Aspx 页面?

带有文件名的 ASP.net MVC4 WebApi 路由

在 ApiController 中添加自定义响应头

如何获取正在访问 ASP.NET 应用程序的当前用户?

回发不适用于 aspx 页面作为默认文档

System.Reflection.Assembly.LoadFile 锁定文件

使用 ASP.NET 进行重定向后获取

ASP.Net 错误:应用程序池的标识无效

如何获取部署在 Azure 网站上的 ASP.NET 5 应用程序的错误详细信息?

如何在 ASP.Net MVC 3 中返回 HttpNotFound() 的视图?

ASP.NET MVC 和 httpRuntime executionTimeout

Docker 中的 ASPNETCORE_ENVIRONMENT

StyleBundle 索引超出了数组的范围

如何加密 web.config 中的一项

将字符串转换为时间

禁用文本框的模型绑定