VSTS中完整.net项目中的Ef核心迁移
我已经创建了一个针对整个.net框架的.net核心web应用程序 我已经创建了一个类库(.net framework) 在这个dll中,我引用了ef核心并创建了一个上下文。 当我使用包管理器时,迁移工作正常 我目前面临的问题 我需要能够在VSTS部署期间使用迁移 我已经试过了 在VSTS中创建powershell部署脚本以调用dotnet ef命令。这不起作用,因为我无法在项目中安装Microsoft.EntityFrameworkCore.Tools.DotNet 我已尝试在my.csproj中手动添加引用 但不幸的是,这并不能解决我的问题,只能产生这样的结果。VSTS中完整.net项目中的Ef核心迁移,.net,entity-framework,entity-framework-core,entity-framework-migrations,azure-pipelines-release-pipeline,.net,Entity Framework,Entity Framework Core,Entity Framework Migrations,Azure Pipelines Release Pipeline,我已经创建了一个针对整个.net框架的.net核心web应用程序 我已经创建了一个类库(.net framework) 在这个dll中,我引用了ef核心并创建了一个上下文。 当我使用包管理器时,迁移工作正常 我目前面临的问题 我需要能够在VSTS部署期间使用迁移 我已经试过了 在VSTS中创建powershell部署脚本以调用dotnet ef命令。这不起作用,因为我无法在项目中安装Microsoft.EntityFrameworkCore.Tools.DotNet 我已尝试在my.csproj
免责声明:我没有测试以下任何建议 其他人正在使用此解决方法: ASP.NET Core的另一个解决方法是添加命令行参数(Program.cs),以允许从命令行执行.Database.Migrate()。然后,您可以使用此命令行参数添加在azure上执行powershell命令/脚本的VSTS部署任务
另一种方法可能是让CI将项目文件(*.csproj)放入工件中,然后在CD中执行dotnet还原。项目文件似乎是必要的,因为这是我能看到的唯一一种可以指导dotnet工具恢复内容的方法。我意识到这是一个老问题,但对于在Azure DevOps(又名VSTS)中搜索处理EF迁移的最佳方法的任何人来说,我发现了以下内容 EF迁移构建源代码,这可能会有问题,因为您需要源代码,而发布管道没有构建管道所具有的所有相同功能 我的做法是:
dotnet ef
命令在生成中生成迁移脚本查看完整的博客文章,了解更多详细信息。如果您将项目组更改为
,与本文中的设置类似,该怎么办?你能在一个驱动器中上传整个项目吗?@Marina MSFT我曾尝试添加建议的更改,但现在我只得到两个文件,如“错误参考”图像所示。我仍然无法使用powershell中的“dotnet ef”,并且正在获取“找不到可执行的匹配命令”dotnet ef“您上载项目方便吗?或者您可以上载具有相同错误消息的演示。经过无数个小时的搜索,我决定使用context.Database.Migrate()