IHostingEnvironment.EnvironmentName如何运作?

时间:2016-11-09 21:00:18

标签: visual-studio asp.net-core development-environment .net-core production-environment

在.NET Core控制台应用程序中,如果我添加以下行...

IHostingEnvironment env = new HostingEnvironment();
Console.WriteLine(env.EnvironmentName);

我得到了这个结果......

  

生产

但是当我在同一台机器上的ASP.NET Core应用程序中做同样的事情时......

public Startup(IHostingEnvironment env)
{
    Debug.WriteLine(env.EnvironmentName);
}

我得到了这个结果......

  

开发

  • EnvironmentName究竟有用吗?
  • 如何指定本地计算机是开发环境?
  • 如何指定Azure是生产环境?

作为额外的一点,可以将EnvironmentName配置为使用解决方案中的调试发布配置吗?

enter image description here

  • Debug =>发展
  • 发布=>生产

最终目标是在使用调试构建时连接到本地SQL数据库,使用发布构建时可以连接到Azure数据库。

1 个答案:

答案 0 :(得分:7)

  

EnvironmentName究竟是如何运作的?

.NET Core读取名称from an environmental variable

  

如何指定本地计算机是开发环境?

将环境变量设置为Development

  

如何指定Azure是生产环境?

将环境变量设置为Production

  

作为额外的一点,可以EnvironmentName配置为使用解决方案中的调试和发布配置吗?

您可以创建启动配置文件来设置环境名称,并将该配置文件与调试或发布配置一起使用。从Visual Studio启动时,启动配置文件会影响EnvironmentName;当您在其他环境中运行应用程序时,您将需要使用其他方法来设置它。

下图显示了在Release配置中运行应用程序以及将EnvironmentName设置为Development的MyDevProfile。

enter image description here