在.NET Core控制台应用程序中,如果我添加以下行...
IHostingEnvironment env = new HostingEnvironment();
Console.WriteLine(env.EnvironmentName);
我得到这个结果...
但是,当我在同一台计算机上的ASP.NET Core应用程序中执行相同的操作时...
public Startup(IHostingEnvironment env)
{
Debug.WriteLine(env.EnvironmentName);
}
我得到这个结果...
另外,可以将EnvironmentName配置为与解决方案中的调试和发布配置一起使用吗?
最终目标是当使用调试构建时能够连接到本地SQL数据库,而当使用发行构建时能够连接到Azure数据库。
最佳答案
.NET Core读取名称from an environmental variable。
将环境变量设置为Development
。
将环境变量设置为Production
。
您可以创建一个启动配置文件来设置环境名称,并将该配置文件与Debug或Release配置一起使用。从Visual Studio启动时,启动配置文件会影响EnvironmentName
。在其他环境中运行应用程序时,您将需要使用其他方式进行设置。
下图显示了在Release配置中运行应用程序以及将EnvironmentName
设置为Development
的MyDevProfile。