1

在 Entity Framework 更新到版本 6.4.4 后migrate.exe,替换为ef6.exe. 这对我在 Azure DevOps 中的发布管道进行了重大更改。我试图从原来的工作更新迁移命令

$(System.DefaultWorkingDirectory)/_IdentityServer-CI-Build/drop/migration/migrate.exe Identity Identity.Migrations.AspNetIdentity.Configuration /connectionString=$(connectionstring) /connectionProviderName="System.Data.SqlClient"

到当前版本

$(System.DefaultWorkingDirectory)/_IdentityServer-CI-Build/drop/migration/ef6.exe database update --verbose --assembly Identity.dll --connection-provider "System.Data.SqlClient" --connection-string '$(connectionstring)'

$(Build.SourcesDirectory)\packages\EntityFramework.6.4.4\tools\net45\any\ef6.exe.

不幸的是我收到了一个错误

System.Data.Entity.Tools.CommandException: Your target project 'Identity' doesn't reference EntityFramework. This package is required for the Entity Framework Core Tools to work. Ensure your target project is correct, install the package, and try again. ---> System.IO.FileNotFoundException: Could not load file or assembly 'EntityFramework' or one of its dependencies. The system cannot find the file specified.

根据错误,在我看来,该工具不适合 .NET Framework 项目。由于几乎没有在 .NET Framwork 项目上使用此工具的文档,因此我检查了源代码以至少获取参数,但我不知道如何处理此错误或使用什么不同的方法来做从管道更新。

4

1 回答 1

1

利用 ef6.exe 的 6.4.4 版本执行迁移:

数据库更新 --verbose --assembly Identity.dll --migrations-config Identity.ClientConfiguration.Configuration --project-dir 'D:\drop\Identity' --connection-string '$(connectionstring)' --connection-provider “System.Data.SqlClient”

于 2020-10-29T20:09:31.313 回答