迁移EF Core 3.1

时间:2020-08-02 01:25:10

标签: entity-framework-migrations ef-core-3.1

尝试使用EF Core 3.1创建迁移时出现以下错误。

PM> add-migration InitialDB

Unable to resolve startup project ''.
Using project 'UI\UI.Web' as the startup project.
Build started...
Build succeeded.

System.IO.FileLoadException:无法加载文件或程序集'netstandard,Version = 2.1.0.0,Culture = neutral,PublicKeyToken = cc7b13ffcd2ddd51'。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)
文件名:“ netstandard,Version = 2.1.0.0,Culture = neutral,PublicKeyToken = cc7b13ffcd2ddd51”

在Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration(字符串名称,字符串outputDir,字符串contextType)
在Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name,String outputDir,String contextType)
在Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase中。<> c__DisplayClass3_0`1.b__0()
在Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(操作动作)处

无法加载文件或程序集'netstandard,版本= 2.1.0.0,区域性=中性,PublicKeyToken = cc7b13ffcd2ddd51'。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)

我是否需要做些什么才能使我的项目获得迁移以支持.NET Core 3.0 / 3.1?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

最近,我将EF Core从2.2升级到3.1.6后,自己也遇到了同样的问题,在对问题进行了一些调查之后,如果您尝试将{{ 1}}在您的RuntimeFrameworkVersion文件中,可以解决此问题。这似乎为我解决了这一问题,请记住,根据您的配置,只有某些兼容的.NET Core框架可用。如果您错误地将其设置为不存在的版本,则会看到此

.csproj

更新了开发环境所支持的It was not possible to find any compatible framework version The framework 'Microsoft.NETCore.App', version '3.1.0' was not found. - The following frameworks were found: 2.0.9 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 2.1.0 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 2.1.7 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 2.1.11 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 2.1.20 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 3.1.6 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 之后,您的RuntimeFrameworkVersion可能看起来像这样

.csproj

希望这对您有所帮助,因为它对我有帮助。但是,如果没有,您也可以编辑<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework> <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest> <GenerateRuntimeConfigurationFiles> true</GenerateRuntimeConfigurationFiles> <RuntimeFrameworkVersion>3.1.6</RuntimeFrameworkVersion> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType> <GeneratePackageOnBuild>true</GeneratePackageOnBuild> </PropertyGroup> 文件以包括所有私有和实体资产

.csproj

P.S。第一次发布有关堆栈溢出的答案,因此,如果这不能帮到您,我谨此致歉,希望对您有所帮助。