Обновление версии инструментов EF Core 2.1.1

Если я запустил dotnet ef add testmigration

Я получаю это предупреждение: The EF Core tools version '2.1.0-rtm-30799' is older than that of the runtime '2.1.1-rtm-30846'. Update the tools for the latest features and bug fixes.

Итак, я проверил свой файл csproj:

<ItemGroup>
    <PackageReference Include = "Microsoft.EntityFrameworkCore.Design" Version = "2.1.1" />
    <PackageReference Include = "Microsoft.EntityFrameworkCore.SqlServer" Version = "2.1.1" />
    <PackageReference Include = "Microsoft.EntityFrameworkCore.Tools" Version = "2.1.1" />
    <PackageReference Include = "Microsoft.Extensions.Configuration.Json" Version = "2.1.1" />
</ItemGroup>

Что мне кажется правильным, версия 2.1.1. Итак, я проверил документы, здесь

И они предполагают, что запись tools в csproj должна иметь этот пакет:

<ItemGroup>
    <DotNetCliToolReference Include = "Microsoft.EntityFrameworkCore.Tools.DotNet" Version = "2.1.1" />
</ItemGroup>

Теперь dotnet restore жалуется, что:

warning : The tool 'Microsoft.EntityFrameworkCore.Tools.DotNet' is now included in the .NET Core SDK. Information on resolving this warning is available at (https://aka.ms/dotnetclitools-in-box).

И dotnet ef --version по-прежнему перечисляет старую.

Итак, следующее, что я делаю, это полностью удаляю запись в csproj, теперь dotnet ef все еще работает, но все еще дает мне старую версию.

Итак, я решил, что мне нужно как-то обновить глобальные инструменты dotnet для EF. Но «список инструментов dotnet -g» не дал мне никаких результатов.

Все очень запутанно.

Откуда взялась старая версия, как от нее избавиться / обновить?

Установите последняя версия .NET Core SDK.

bricelam 11.07.2018 17:49

У меня есть это, или, по крайней мере, второй последний (2.1.301). Но ваш комментарий побудил меня проверить наличие global.json, что оказалось проблемой. tnx.

Flores 11.07.2018 22:04

@Flores Спасибо, что помогли мне решить проблему

FindOutIslamNow 14.07.2018 07:02

Привет, ребята, извините за возвращение, но у меня такая же проблема, и в моем решении нет файла global.json. Где находится этот файл?

Andre Vianna 27.08.2018 17:59

Если это не на вашем пути, у вас другая проблема. Чтобы убедиться, что введите dotnet --version в папке вашего проекта

Flores 27.08.2018 20:01
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
18
5
19 624
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

ОК.

Оказывается, это вызвано тем, что установлен второй последний sdk (2.1.301), но где-то на пути к версии 2.1.300 привязан global.json.

Как вы избавились от этого предупреждения? У меня sdk v 2.1.302

peyman gilmour 19.07.2018 13:45

Если вы сделаете dotnet --version на пути к вашему приложению, будет ли там указано также 2.1.302?

Flores 19.07.2018 17:29

Нет, когда я запускаю его, я получаю 2.1.403, но все же мне отображается предупреждение о том, что EF Core Tools устарели.

tnk479 06.11.2018 21:06

У меня есть эти проблемы, и сейчас у меня 2.1.400

Tom Stickel 19.12.2018 23:16

... "но где-то на пути" ... Где-то на каком пути? Путь решения? Проект? Visual Studio установить ??? Не могли бы вы уточнить, что вы имеете в виду?

Post Impatica 12.02.2019 19:56

Неважно. Я решил проблему, установив последнюю версию Microsoft.EntityFrameworkCore.Tools.

Post Impatica 12.02.2019 20:02

Google для global.json, и вы найдете ответ: либо решение, либо путь к проекту.

Flores 12.02.2019 23:05

У меня была именно эта проблема. Я попытался удалить папки bin и перестроить, как предлагали другие, но это никогда не сработало. Наконец, я обновил SDK до версии 2.1.403, и проблема была решена.

Эта ошибка также отображается, когда вы выбираете другой проект в Консоль диспетчера пакетов, а не в проекте Entity Framework в вашем решении.

install-package Microsoft.EntityFrameworkCore.Tools -Version 2.1.8

сделал это для меня

у меня это сработало, просто не забудьте запустить его от имени администратора.

Jamo 08.10.2019 21:53

Другие вопросы по теме