首页 > 解决方案 > 运行所选代码生成器时出错数据库提供程序尝试注册“IRelationTypeMappingSource”的实现

问题描述

我正在使用 Visual Studio 2019。

在重新安装 Visual Studio 之前,我的 ASP.NET Core MVC 项目和脚手架工作正常。

但在那之后我无法添加新的脚手架项目。

在此处输入图像描述

在此处输入图像描述

通过更新所有 NuGet 包然后运行脚手架,它会自动降级包

编辑 1:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>

  <ItemGroup>
    <Compile Remove="Migrations\20200625063143_user_table_added_for_access_control.cs" />
    <Compile Remove="Migrations\20200625063143_user_table_added_for_access_control.Designer.cs" />
    <Compile Remove="Migrations\20200625070609_test.cs" />
    <Compile Remove="Migrations\20200625070609_test.Designer.cs" />
    <Compile Remove="Migrations\20200701100225_datatype_changed_to_long_of_assetno_in_both_table.cs" />
    <Compile Remove="Migrations\20200701100225_datatype_changed_to_long_of_assetno_in_both_table.Designer.cs" />
    <Compile Remove="Migrations\20200730114532_hasShiftingRequest_field_added_in_pc.cs" />
    <Compile Remove="Migrations\20200730114532_hasShiftingRequest_field_added_in_pc.Designer.cs" />
    <Compile Remove="Migrations\20200731033230_hasShiftingRequest_field_added_in_pc.cs" />
    <Compile Remove="Migrations\20200731033230_hasShiftingRequest_field_added_in_pc.Designer.cs" />
    <Compile Remove="Migrations\20200917095552_trial.cs" />
    <Compile Remove="Migrations\20200917095552_trial.Designer.cs" />
    <Compile Remove="Migrations\20201208042418_test.cs" />
    <Compile Remove="Migrations\20201208042418_test.Designer.cs" />
    <Compile Remove="Migrations\20201208054030_User_table_mapped_with_laptop_and_desktop.cs" />
    <Compile Remove="Migrations\20201208054030_User_table_mapped_with_laptop_and_desktop.Designer.cs" />
  </ItemGroup>

  <ItemGroup>
    <Content Remove="Views\AssetDataLaptops\Delete.cshtml" />
    <Content Remove="Views\AssetDataPcs\Delete.cshtml" />
    <Content Remove="Views\AssetShiftings\Delete.cshtml" />
    <Content Remove="Views\AssetShiftings\Details.cshtml" />
    <Content Remove="Views\AssetShiftings\Edit.cshtml" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="bootstrap" Version="4.6.0" />
    <PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="5.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.11" />    
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.11" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.11">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.Office.Interop.Excel" Version="15.0.4795.1000" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration" Version="3.1.4" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.4" />
    <PackageReference Include="System.DirectoryServices" Version="5.0.0" />
    <PackageReference Include="System.DirectoryServices.AccountManagement" Version="5.0.0" />
  </ItemGroup>



</Project>

编辑2:

将 EntityFrameworkCore 5 降级到 3.x 后出现构建错误

在此处输入图像描述

标签: c#asp.net-corevisual-studio-2019asp.net-mvc-scaffolding

解决方案


因为您的项目版本是 3.1,所以您不应该使用 package <PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.2" />

您需要将其更改为 3.x。


推荐阅读