【发布时间】:2018-02-03 11:37:40
【问题描述】:
我使用 Visual Studio 通过某种迁移来更新我的所有环境。使用下面的命令运行良好。
update-database -Migration initMigrationProduct -c ProductContext -Environment Production
在 ef core 2.0 中,此命令已更改,参数 -Environment 已删除。在它说的文档中。
"在 2.0 中,您可以使用 ASPNETCORE_ENVIRONMENT 环境变量 而是。”
https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet
我现在尝试了各种方法,但是当我使用 ef core 2.0 运行 update-database 时,它不使用 ASPNETCORE_ENVIRONMENT 变量。我尝试在注册表中设置应用程序属性。
请让我知道我需要做什么才能使其工作以更新不同的环境?
如果我使用不同的 launchsettings 启动应用程序,它可以工作,但不使用包管理器控制台。
【问题讨论】:
-
在执行命令之前尝试
set ASPNETCORE_ENVIRONMENT=EnvironmentName。 -
您使用的是 PowerShell 提示符吗?您需要使用
$env:ASPNETCORE_ENVIRONMENT='EnvironmentName' -
我试过了,我在 Visual Studio 的 PM 控制台中设置了 ASPNETCORE_ENVIRONMENT=Production 但它不使用环境它只是使用默认开发。
-
请注意,在 $env:ASPNETCORE_ENVIRONMENT = "Development" 的可接受答案中,$env 部分区分大小写。 $Env:ASPNETCORE_ENVIRONMENT 在某些情况下会起作用,但 IDesignTimeDbContextFactory 不会选择它。在这件事上挠了挠头……
标签: c# .net-core visual-studio-2017 entity-framework-core