EF Core Tools не работают на dotnet core 3 превью 4 - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь разработать некоторые веб-API с использованием предварительного просмотра dotnet core 3 4. Я знаком с ядром dotnet и его библиотеками, такими как EF core, Identity и т. Д. Но теперь с предварительным просмотром версии 3 4 Microsoft.EntityFrameworkCore.Tools делает не работает и команда dotnet ef migrations add ... сообщает это сообщение:

Невозможно найти команду 'dotnet ef', выполните следующую команду, чтобы установить

установка инструмента dotnet --global dotnet-ef

Файл csproj выглядит так:

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

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.0.0-preview4-19216-03" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0-preview4.19216.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.0.0-preview4.19216.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0-preview4.19216.3"/>
  </ItemGroup>

</Project>

, а также я пытался dotnet tool install --global dotnet-ef, но не решил мою проблему. Поскольку анонсирован предварительный вариант 4 версии 3, я не могу найти никакой документации по этому поводу на официальных сайтах или сайтах третьих сторон.

Ответы [ 3 ]

4 голосов
/ 04 мая 2019

Сначала убедитесь, что

  1. Вы используете предварительный просмотр .NET Core SDK 3.0, наберите dotnet --info и увидите строку типа
.NET Core SDKs installed:
  3.0.100-preview4-011223 [C:\Program Files\dotnet\sdk]
Вы запустили dotnet restore в проекте Вы cd перешли в каталог проекта (* .csproj)

С Entity Framework Core 3.0 Preview 4, dotnet-ef tool больше не является частью .NET Core SDK.Удалите стабильную версию инструмента dotnet-ef (на данный момент 2.2.4) с помощью

dotnet tool uninstall --global dotnet-ef

Затем установите предварительный просмотр,

dotnet tool install --global dotnet-ef --version 3.0.0-preview4.19216.3

После этого dotnet ef должно работать нормально.

3 голосов
/ 06 мая 2019

.NET Core 3.0 представляет Локальные инструменты :

Локальные инструменты похожи на глобальные инструменты, но связаны с определенным местоположением на диске.Локальные инструменты не доступны во всем мире и распространяются в виде пакетов NuGet.

dotnet Core, а также EF Core быстро развиваются.Легко иметь несколько проектов / решений в разных версиях dotnet.С помощью Local Tools вы можете настраивать определенные инструменты версий по проектам.

Шаги по настройке инструмента по проектам:

dotnet new tool-manifest  
#executing this at sln level (or with your projecte) a new .config file is created

dotnet tool install --local dotnet-ef --version 3.0.0-preview4.19216.3
#this will configure dotnet ef tool

dotnet ef
#should run at this point

На этом этапе ваша команда ef migrations / database должнаработает.

0 голосов
/ 03 мая 2019
dotnet tool install -g dotnet-ef --version 3.0.0-preview4.19216.3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...