Visual Studio 强制 ASPNETCORE_ENVIRONMENT 值

Visual Studio forcing ASPNETCORE_ENVIRONMENT value

我正在尝试在 Visual Studio 2019 中将包管理器控制台与 EF Core 2.2 一起用于 运行 一个 Update-Database 命令。我通过根据 ASPNETCORE_ENVIRONMENT 的值更改连接字符串,在我的代码中针对特定数据库。 该代码通过使用

实现了这一点
public Startup(IHostinEnvironment env) {
    if (env.IsDevelopment()) {
        // set EF Core Dev connection string here
    }
}

在项目属性调试面板中,我将值设置为“开发”,由于包管理器 Cosole 忽略了它并使用了环境变量,我输入了

PM> $Env:ASPNETCORE_ENVIRONMENT = "Development"

然后我通过输入

验证设置是否正确

PM> $Env:ASPNETCORE_ENVIRONMENT

并且正确 returns 发展.

但问题是如果我然后 运行

PM> Get-DbContext

它针对我的生产数据库而不是开发数据库,​​事实上,当再次输入 $Env:ASPNETCORE_ENVIRONMENT 时,它会产生 Production!

我的代码中没有任何内容可以动态更改此值。 更令人困惑的是,我过去完全没有问题地执行了这些步骤。

任何疑难解答想法将不胜感激。

我得出了一个令人不满意的结论,即仅仅重新启动 Visual Studio 2019 就解决了这个问题。我猜它或 PM 控制台中存在某种错误。

仅供参考,我使用的版本是 Windows 10 Pro 上的 16.6.3。 包管理器主机 5.6.0.6591