Обычно ошибка « Обнаружен конфликт версий » происходит из-за ошибки в версиях графика зависимостей.
Ошибка: обнаружен конфликт версий для Microsoft.EntityFrameworkCore.Установите / обратитесь к Microsoft.EntityFrameworkCore 2.2.3 напрямую в core-udemy проекта, чтобы решить эту проблему.
ошибка: core-udemy -> Microsoft.EntityFrameworkCore.SqlServer 2.2.3 -> Microsoft.EntityFrameworkCore.Relational 2.2.3 -> Microsoft.EntityFrameworkCore (> = 2.2.3)
ошибка: core-udemy -> Microsoft.AspNetCore.App 2.1.1 -> Microsoft.EntityFrameworkCore (> = 2.1.1 && <2.2.0) </strong>.
Как следует из информации, ваш проект зависит от Microsoft.AspNetCore.App v2.1.1
, для которого требуется версия Microsoft.EntityFrameworkCore
(2.1.1 && <2.2.0) </strong>.
Однако, используя dotnet add core-udemy package Microsoft.EntityFrameworkCore.SqlServer
, вы устанавливаете «текущую» версию Microsoft.EntityFrameworkCore
.На следующем снимке экрана NuGet показано, что вы устанавливаете Microsoft.EntityFrameworkCore
(2.2.3) :
Поскольку вы используете ASP.NET Core 2.1
, , вы можете установить соответствующие пакеты с опцией --version 2.1.*
:
dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 2.1.*
Это будетприведите зависимость как показано ниже:
<ItemGroup>
...
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.*" />
</ItemGroup>
Как только вы исправите конфликт версий, вы можете запустить dotnet clean
& dotnet restore
& dotnet build
, и тогда второй вопрос будет решен.
Кроме того, метапакет Microsoft.AspNetCore.App
(v2.1.1) уже установил зависимость от Microsoft.EntityFrameworkCore.SqlServer (>= 2.1.1 && < 2.2.0)
:
вам не нужно добавлять такую ссылку на пакет вручную.