Версия для пакета " Microsoft.EntityFrameworkCore.Инструменты.DotNet " не удалось повторно решить

Я развертываю новое приложение .NET Core на своем сервере. Я пытаюсь запустить миграцию EntityFramework, так как проект был создан с использованием метода "code-first".

команда для запуска

обновление базы данных dotnet ef

миграции работают локально с помощью visual studio без проблем, однако на сервере я получаю ошибку;

версия для пакетов Microsoft.EntityFrameworkCore.Tools.DotNet не может быть решенный.

версия на моей машине разработки DotNet 1.0.0

версия на моем сервере DotNet 1.0.1

мой проект использует .файл csproj (Не проекта.json, который больше не используется, кажется).

я добавил ссылку на файл csproj, но независимо от версии я все равно получаю вышеуказанную ошибку.

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.1" />
  </ItemGroup>

обновление

В основном я попытался установить Microsoft.EntityFrameworkCore.Инструменты.DotNet из командной строки с помощью NUGET:

файлы C:Program (для x86)Дженкинсрабочее местоAPI-интерфейс.ХХХ.для COMXXXProject>NuGet для меня nstall Microsoft.EntityFrameworkCore.Инструменты.Dotnet ограничителя

тогда я получаю следующее:

предупреждение: не удалось установить. Откат... Выполнение действий nuget заняло 13.44 сек Пакет Майкрософт.EntityFrameworkCore.Инструменты.DotNet 1.0.0 'имеет тип пакета' D otnetCliTool' это не поддерживается проектом "C:Program файлы (x86)Jenkinsw orkspaceAPI-интерфейс.ХХХ.комXXXProject'`.

тогда, если я запускаю команду dotnet ef, я получаю следующее:

C:Program файлы (x86)Jenkinsworkspaceapi.десулли.comdeSullyAPI_Core>база данных обновления dotnet ef

версия для пакетов Microsoft.EntityFrameworkCore.Tools.DotNet не может быть решена.

обновление #2

Я заметил, что моя машина dev имеет разные версии SDK в нем чем версия на сервере

Dev Box enter image description here

Окне Производства enter image description here

Я предполагаю, что проблема в том, что 1.0.1 не имеет Microsoft.EntityFrameworkCore.Инструменты.Dotnet ограничителя в ней? Разве это не странно, что старая версия делает?

обновление 3

так fyi - я пошел в Майкрософт На Веб-Сайте!--56--> попытаться скачать 1.0.0 версию SDK (т. к. не кажется, установлен на моем сервере). К сожалению, сайт MS, похоже, заставляет меня кормить версию 1.0.1 (которая не содержит EF-материал, который мне нужен?).

Я попытался скопировать 1.0.0 dir из моего dev box на производственный сервер, но это также не сработало. Я что-то упускаю?

1 ответов


нет 1.0.1 версия Microsoft.EntityFrameworkCore.Tools.DotNet (на момент написания). Вам нужно установить Version="1.0.0" для восстановления пакета.

доступные версии перечислены на NuGet.

обновление:

чтобы использовать инструменты CLI, сначала нужно добавить <DotNetCliToolReference> предметы, как у вас уже есть.

тогда вы звоните dotnet restore в каталоге проекта, чтобы загрузить пакеты в локальный кэш, то инструмент становится полезным и dotnet ef можете использовать.