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

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

我得到这个结果...



但是,当我在同一台计算机上的ASP.NET Core应用程序中执行相同的操作时...
public Startup(IHostingEnvironment env)
{
    Debug.WriteLine(env.EnvironmentName);
}

我得到这个结果...


  • EnvironmentName到底如何工作?
  • 如何指定我的本地计算机是开发环境?
  • 如何指定Azure是生产环境?


  • 另外,可以将EnvironmentName配置为与解决方案中的调试发布配置一起使用吗?

    visual-studio - IHostingEnvironment.EnvironmentName如何工作?-LMLPHP
  • 调试=>开发
  • 发布=>生产

  • 最终目标是当使用调试构建时能够连接到本地SQL数据库,而当使用发行构建时能够连接到Azure数据库。

    最佳答案



    .NET Core读取名称from an environmental variable



    将环境变量设置为Development



    将环境变量设置为Production



    您可以创建一个启动配置文件来设置环境名称,并将该配置文件与Debug或Release配置一起使用。从Visual Studio启动时,启动配置文件会影响EnvironmentName。在其他环境中运行应用程序时,您将需要使用其他方式进行设置。

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

    visual-studio - IHostingEnvironment.EnvironmentName如何工作?-LMLPHP

    10-04 15:42