#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)