【问题标题】:Visual Studio forcing ASPNETCORE_ENVIRONMENT valueVisual Studio 强制 ASPNETCORE_ENVIRONMENT 值
【发布时间】:2020-07-09 01:56:52
【问题描述】:

我正在尝试在 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 = "开发"

然后我通过输入验证它是否设置正确

PM> $Env:ASPNETCORE_ENVIRONMENT

而且它正确地返回发展

但问题是如果我再跑

PM> Get-DbContext

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

我的代码中没有任何内容可以即时更改此值。 更令人困惑的是,我过去完全采取了这些步骤,没有任何问题。

如有任何故障排除想法,我们将不胜感激。

【问题讨论】:

    标签: visual-studio-2019 ef-core-2.2


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-03-18
      • 1970-01-01
      • 1970-01-01
      • 2013-02-13
      • 1970-01-01
      • 2020-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多