EF核心代码首次部署 - VSTS管道 - hospolicy.dll

时间:2017-10-17 06:53:41

标签: asp.net-core azure-devops entity-framework-core

我正在开发一个使用asp.net核心,实体框架代码的项目,我试图将EF迁移作为发布步骤,我被建议使用migrate.exe,但据我所知ef asp.net core不会生成migrate.exe文件。

我目前在发布步骤中使用以下命令。将ef核心项目的bin文件夹添加到生成的工件后。

命令:

dotnet exec 
--runtimeconfig ./HOST.runtimeconfig.json 
--depsfile ./HOST.deps.json Microsoft.EntityFrameworkCore.Design.dll
--assembly ./DB_CONTEXT_DLL.dll 
--startup-assembly ./HOST.dll --data-dir ./ 
--root-namespace DB_CONTEXT_NAMESPACE 
--verbose database update --context DB_CONTEXT_CLASS -e development 

命令步骤失败并显示错误: 遇到致命错误。在'd:\ a \ r1 \ a {Publish articats文件夹} \ drop \ EF \ bin \ release \ netcoreapp1.1 \'中找不到执行应用程序所需的库'hostpolicy.dll'。

我不确定hostpolicy.dll是什么以及如何生成它,因为它不是在EF核心项目的bin文件夹中生成的

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以在部署过程中执行Entity框架迁移。简单的步骤:

  1. 创建发布配置文件(例如,Web部署包,右键单击项目=>发布)
  2. 通过 Visual Studio构建任务/p:DeployOnBuild=true /p:PublishProfile=[profilename];DesktopBuildPackageLocation="$(build.artifactstagingdirectory)\WebAppCoreEF.zip"参数
  3. 进行常规部署包
  4. 添加部署任务(例如Azure App Service Deploy)以部署此程序包(您可以在发布中执行此操作)