Конфликт версий для Microsoft.EntityFrameworkCore.Relational при обновлении до ASP.NET Ядро 5.0

#c# #asp.net-core #asp.net-core-3.1 #.net-5 #asp.net-core-5.0

#c# #asp.net-ядро #asp.net-ядро-3.1 #.net-5 #asp.net-ядро-5.0

Вопрос:

После переноса моего проекта из ASP.NET Ядро 3.1- 5.0 Я столкнулся с этой проблемой:

Обнаружен конфликт версий ошибки NU1107 для Microsoft.EntityFrameworkCore.Relational.

Установите / обратитесь к Microsoft.EntityFrameworkCore.Relational 5.0.0 напрямую в project Alpha.Web.App для решения этой проблемы.

Alpha.Web.App -> Microsoft.EntityFrameworkCore.Инструменты 5.0.0 -> Microsoft.EntityFrameworkCore.Design 5.0.0 -> Microsoft.EntityFrameworkCore.Relational (> = 5.0.0)

Alpha.Web.App -> Pomelo.EntityFrameworkCore.MySQL 3.2.4 -> Microsoft.EntityFrameworkCore.Relational (>= 3.1.8 amp;amp; < 5.0.0).

E:ProjectsAlphaAlpha.Web.AppAlpha.Web.App.csproj 1 .

Как я могу это решить?

Alpha.Web.App.csproj:

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

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <UserSecretsId>XXXXXXuser secret idXXXXXXXX</UserSecretsId>
  </PropertyGroup>

  <ItemGroup>
          <!-- ...-->
  </ItemGroup>

  <ItemGroup>
          <!-- ...-->
  </ItemGroup>

  <ItemGroup>
          <!-- ...-->
  </ItemGroup>

  <ItemGroup>
    <None Remove="migrations.sql" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="HtmlAgilityPack" Version="1.11.28" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.Facebook" Version="5.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="5.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.Twitter" Version="5.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.0" />
    
    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.0" Condition="'$(Configuration)' == 'Debug'" />
    <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="3.3.1">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>


    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="5.0.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="5.0.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="5.0.0" />
    <PackageReference Include="Microsoft.NETCore.App" Version="2.2.8" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="5.0.0" />
    <PackageReference Include="NLog.Extensions.Logging" Version="1.6.5" />
    <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="3.2.4" />
    <PackageReference Include="System.Linq.Dynamic.Core" Version="1.2.5" />
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..Alpha.DataAccessAlpha.DataAccess.csproj" />
    <ProjectReference Include="..Alpha.InfrastructureAlpha.Infrastructure.csproj" />
    <ProjectReference Include="..Alpha.LoggerServiceAlpha.LoggerService.csproj" />
    <ProjectReference Include="..Alpha.ModelsAlpha.Models.csproj" />
    <ProjectReference Include="..Alpha.ServicesAlpha.Services.csproj" />
  </ItemGroup>

  <ItemGroup>
   <!-- ...-->
  </ItemGroup>

  <ItemGroup>
   <!-- ...-->
  </ItemGroup>

</Project>
 

Комментарии:

1. Вы обновили ядро Entity Framework до последней версии?

2. Да, я это сделал. Вы можете это увидеть. <PackageReference Include=»Microsoft. EntityFrameworkCore» Версия=»5.0.0″ />

3. Я удалил Pomelo. EntityFrameworkCore. MySQL и теперь он работает хорошо. На данный момент нет совместимого пакета Pomelo для .net5.0

4. Опубликуйте это как ответ, люди тестируют его в наши дни, и они могут наткнуться на этот пост.

Ответ №1:

Я удалил Pomelo.EntityFrameworkCore.MySql , и теперь он работает хорошо. На данный момент нет совместимого пакета Pomelo для .NET 5:

https://github.com/PomeloFoundation/Pomelo .EntityFrameworkCore.MySQL #расписание и дорожная карта

Ответ №2:

Просто установите более новый совместимый пакет Pomelo.

Pomelo.EntityFrameworkCore.MySql (v5.0.0) на самом деле совместим с Microsoft.EntityFrameworkCore.Relational (v5.0.x)