Указанная платформа Microsoft.NETCore.App версии 2.1 не найдена. - PullRequest
0 голосов
/ 18 ноября 2018

Я занимаюсь разработкой приложения Angular 6 в dotNet Core 2.1.Все работает без нареканий, пока я не приступил к настройке EFCore.Все мои модели определены и контекст создан.Запуск dotnet ef migrations add InitialCreate дает мне сообщение об ошибке «Указанный каркас« Microsoft.NETCore.App », версия« 2.1 »не найден».

Я искал и прочитал все посты, которые я мог найти с этой ошибкой »через разные версии dotNet Core.Ничто не помогает мне решить эту проблему.

У меня установлены различные версии приложения dotNet Core.Глядя на "C: \ Program Files \ dotnet \ shared \ Microsoft.NETCore.App" у меня есть следующее:

-1.0.4
-1.0.5
-1.1.1
-1.1.2
-2.0.0
-2.0.3
-2.0.5
-2.0.6
-2.0.7
-2.0.9
-2.1.0
-2.1.4
-2.1.5
-2.1.6

"C: \ Program Files \ dotnet" отображается как первый путь в моемСистемная переменная PATH.

Понижение всех проектов в моем решении до dotNet Core 2.0, выполнение команды приводит к точно такой же ошибке, ссылаясь на версию 2.0.

Любой совет будет принят с благодарностью...

Файл csproj для моего проекта EF выглядит следующим образом:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.4" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\*********.Contracts\*********.Contracts.csproj" />
  </ItemGroup>

  <ItemGroup>
    <Reference Include="System">
      <HintPath>System</HintPath>
    </Reference>
    <Reference Include="System.Data">
      <HintPath>System.Data</HintPath>
    </Reference>
    <Reference Include="System.Xml">
      <HintPath>System.Xml</HintPath>
    </Reference>
  </ItemGroup>
</Project>

1 Ответ

0 голосов
/ 19 ноября 2018

Чтобы решить эту проблему, мне пришлось установить пакет Microsoft.EntityFrameworkCore.Design.В разделе install-the-tools документации говорится, что в Asp.Net Core 2.1+ этого делать не нужно:

ASP.NET Core 2.1+

  • Установите текущий .NET Core SDK .SDK должен быть установлен, даже если у вас установлена ​​последняя версия Visual Studio 2017.Это все, что нужно для ASP.NET Core 2.1+, поскольку пакет Microsoft.EntityFrameworkCore.Design включен в метапакет Microsoft.AspNetCore.App .

Мое решениеразбит на разные проекты;Я создал проект библиотеки классов , в котором находится моя установка EF Core.

Поскольку это не проект Asp.Net Core (это библиотека классов, как указано выше), для него также требуется *Пакет 1023 * для установки.

Пакет можно установить с помощью: dotnet add package Microsoft.EntityFrameworkCore.Design

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

...