System.InvalidOperationException: '数据库提供程序试图注册'IRelationalTypeMappingSource' 服务的实现。这不是 Entity Framework 定义的服务,因此必须使用“TryAddProviderSpecificServices”方法注册为特定于提供者的服务。
这是我在 DbContext 中运行页面时的异常(exception)情况。
该网站是 Razor Pages。
网站运行良好,我没有改变任何东西,现在发生了。
这是 .csproj
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="1.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.10" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.10">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.4" />
<PackageReference Include="Microsoft.Windows.Compatibility" Version="5.0.0" />
</ItemGroup>
</Project>
有谁知道如何解决这个问题?
最佳答案
您正在混合版本,并引用过多的包。改成这样:
<ItemGroup>
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="1.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.10" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.10">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.4" />
<PackageReference Include="Microsoft.Windows.Compatibility" Version="3.1.1" />
</ItemGroup>
关于c# - 无法注册 IRelationalTypeMappingSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65422945/