#asp.net-core #entity-framework-core #dbcontext
Вопрос:
Сегодня мы обновили наши пакеты Nuget для EntityFrameworkCore до версии 5.0.11. К сожалению, это, похоже, испортило мою среду VS. Всякий раз, когда я пытаюсь скомпилировать, я получаю сообщение об ошибке: Severity Code Description Project File Line Suppression State Error CS1061 'DbContextOptionsBuilder' does not contain a definition for 'UseSqlServer' and no accessible extension method 'UseSqlServer' accepting a first argument of type 'DbContextOptionsBuilder' could be found (are you missing a using directive or an assembly reference?)
Оба Microsoft.EntityFrameworkCore.SqlServer
и Microsoft.EntityFrameworkCore.Tools
совпадают в версии 5.0.11 после обновления.
Я попытался понизить рейтинг до 5.0.7, но это не устранило проблему. Перезагрузка компьютера не сработала. Как и перезапуск Visual Studio 2019. Я очистил и перестроил проект, но при этом сохранилось то же самое сообщение об ошибке. Проект содержит ссылку using Microsoft.EntityFrameworkCore;
, и он указан в моем файле .csproj. Любые другие советы по решению этой проблемы приветствуются.
Правка: Я должен сказать, что это происходит только на моей машине, так что это скорее проблема с окружающей средой. Никаких других изменений, кроме обновления пакета nuget, внесено не было. Я обновился до версии 5.0.11, и она соответствует тому, что находится в файле .csproj. Интересно, случилось ли это с кем-нибудь еще?
Комментарии:
1. Пока у вас есть ссылка на пакет
Microsoft.EntityFrameworkCore.SqlServer
и вы импортируетеMicrosoft.EntityFrameworkCore
пространство имен, это все, что вам нужно. Я бы попытался, как обычно, перезапустить VS, перезагрузиться, проверить, правильно ли установлен .NET SDK и т. Д. Работает ли это, если вы делаетеdotnet build
это из командной строки?2. попробуйте вручную удалить все
Bin
Obj
каталоги и во всех проектах.package
И.vs
каталоги и, если они у вас есть. Часто требуется для меня после обновления пакета.3. Спасибо вам обоим за помощь! @JHBonarius ваше предложение сработало, поскольку удаление папок Bin и Obj из всех проектов и перестройка сработали. Не могли бы вы опубликовать это в качестве ответа, чтобы я мог его принять? Большое вам спасибо за вашу помощь!
Ответ №1:
По опыту я знаю, что простая очистка сборки не удаляет все. Особенно при обновлении зависимостей (пакетов) часто требуется вручную удалить Bin
Obj
каталоги и (всех) проектов.
В некоторых случаях также требуется удалить .vs
packages
каталоги и из (всех) проектов и решений. Не делайте этого, пока решение открыто в VS.