Обнаружен конфликт версий для Microsoft.EntityFrameworkCore.Install - PullRequest
0 голосов
/ 23 января 2019

При добавлении ядра API asp.net к существующему проекту, над которым я работаю, появляется следующая ошибка.

"Конфликт версий обнаружен для Microsoft.EntityFrameworkCore.Install / ссылается на Microsoft.EntityFrameworkCore 2.2.1 непосредственно для проекта для решения этой проблемы"

Я пытался добавить пакет Nuget, но получал дальнейшие конфликты версий для ряда различных пакетов, и процесс всегда завершался неудачей. Сначала я подумал, что это может быть проблемой в моем проекте, поэтому я запустил новое решение с нуля и сумел воспроизвести проблему с помощью нескольких простых шагов.

  1. Создание нового решения (EFDemo)
  2. Добавить новую библиотеку классов .net Core в решение с именем EFDemo.BL
  3. Добавьте следующие пакеты Nuget в проект EFDemo.BL (поскольку я использую существующую базу данных для моего нового проекта)
  4. Microsoft.EntityFrameworkCore.SqlServer (v2.2.1)
  5. Microsoft.EntityFraneworkCore.Tools (v2.2.1)
  6. Добавьте новое базовое веб-приложение .net с именем EFDemo.Api и выберите шаблон проекта API.
  7. Добавить ссылку с EFDemo.BL на EFDemo.Api.
  8. Построить и увидеть сбой.

Я просмотрел следующий пост, но его решение не работает для меня, поскольку у меня нет ссылок на «Microsoft.EntityFrameworkCore» ни в одном из моих файлов csproj. Обнаружен конфликт версий для пакетов NuGet .

Я также переустановил .net SDK, перезагрузил миллион раз и до сих пор не могу понять, в чем проблема.

Ответы [ 6 ]

0 голосов
/ 12 августа 2019

Это помогло мне и избавило меня от разочарований

   <TargetFramework>netcoreapp2.2</>
0 голосов
/ 21 мая 2019

Я исправил это, просто установив .NET Core 2.2 и изменив тег TargetFramework на netcoreapp2.

<PropertyGroup>
  <TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
0 голосов
/ 25 апреля 2019

Я недавно столкнулся с той же ошибкой.

Что я сделал, чтобы разобраться в этом:

Установлен .Net Core 2.2 SDK

Тогда в моем проекте у меня естьизменено во всех файлах .csproj:

  <PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>

, тогда как раньше это было:

      <PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>

Это помогло сразу, и ошибка исчезла.

0 голосов
/ 11 апреля 2019

Мне помогла эта статья, это было очень простое изменение конфигурации, которое я забыл изменить:

<PropertyGroup>
  <TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>

https://dotnetcoretutorials.com/2018/11/18/how-to-target-net-core-2-2/

0 голосов
/ 23 января 2019

Ответ на этот вопрос довольно сложно каталогизировать, потому что я внес много изменений, пытаясь выяснить это. В конце концов, я считаю, что следующие шаги решили мою проблему:

  • Обновите VS до последней версии (v15.9.3)
  • Удалите оба пакета .Net Core 2.1 и 2.2 (мой проект в то время использовал 2.1)
  • Установить .Net Core 2.2 SDK
  • Преобразование всех проектов в моем решении для использования .Net Core 2.2 (Больно. Хотелось бы, чтобы была функция Retarget All!)
  • Перезагрузка, очистка, сборка и все работает. Уф.

Теперь, чтобы поработать, а не сражаться с моими инструментами!

0 голосов
/ 23 января 2019

Я не уверен, какой пакет вы установили в своем проекте.

Но теперь Visual Studio добавляет только один пакет nuget, который включает в себя весь необходимый пакет для основного приложения asp.net.

Попробуйте установить этот пакет, удалите все остальные пакеты и убедитесь, что он работает для вас.

Microsoft.AspNetCore.All

Таким образом, выне иметь конфликт версий по крайней мере в пакетах Microsoft.Затем вы можете проверить другой установленный вами внешний пакет, который вызывает проблему.

...