Версия для пакета " 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 в нем чем версия на сервере
Я предполагаю, что проблема в том, что 1.0.1 не имеет Microsoft.EntityFrameworkCore.Инструменты.Dotnet ограничителя в ней? Разве это не странно, что старая версия делает?
обновление 3
Я попытался скопировать 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
можете использовать.