Ошибка сборки надстройки EF Core-миграции
У меня есть разработчик, который получает " Build failed."при запуске add-migration в проекте .NET Core EF без объяснения причины сбоя сборки. Как устранить эту ошибку?
вот что он получает в консоли диспетчера пакетов:
дополнительная информация:
У нас есть несколько других разработчиков, использующих тот же код решения (включая меня), у которых нет проблем с добавить-миграция.
Это то, что я вижу в консоли диспетчера пакетов:
мы проверили, что проект строит, и все решение строит. Мы сделали "восстановление dotnet" и перестроили все несколько раз, в дополнение к перезапуску VS2015. Мы проверили, что правильное решение по умолчанию выбрано как в обозревателе решений, так и в раскрывающемся списке консоль диспетчера пакетов. Мы проверили, что на его машине установлен правильный SDK. Я на потеря того, что проверить дальше...каждый раз, когда у меня был сбой во время add-migration, я получил достаточно информации, чтобы указать мне в направлении того, что нужно проверить, но просто "Build failed."это довольно бесполезный вывод ошибок.
14 ответов
Это из-за других проектов решений. e.g если в решении есть два проекта: проект A и проект B. Если сборка проекта A не удалась, а затем миграция данных проекта B завершится неудачно. Поэтому вы должны выгрузить проект A и снова добавить миграцию в проект B.
Я думаю, что это не хороший ответ, но надеюсь, что это поможет.
У меня была точно такая же проблема (.NET Core 2.0.1).
иногда помогает, если проект будет восстановить.
Я также сталкиваюсь с проблемой, когда я открыл проект в 2 Visual studios.
Закрытие одной исправленной ошибки Visual Studio.
в моей ситуации это была ошибка
namespace aspnetcore does not exist .. are you missing a reference?
Я понял это, добавив флаг-v (или --verbose) в команду dotnet ef.
разработчик закончил un-mapping проект из TFS, удалив его и повторно сопоставив его. Теперь это работает на него.
У меня была такая же ошибка, но я использую Visual Studio Community 2017 версии 15.2 (26430.14) для создания проектов .Net Core.
У меня есть ASP.NET основной веб-проект MVC и отдельный проект безопасности с использованием ASP.NET основная идентичность. Веб-проект содержит строку подключения в aspsettings.конфигурационный файл json.
Я также установил Упаковщик & Английское Сокращение Cups и Web Essentials 2017 расширения в Visual Studio, чтобы я мог компилировать, минимизировать и соберите мои активы и поместите их в wwwroot.
Я понял, что это MSBuild эти расширения 2 тайно загружаются, что вызвало проблему, потому что у меня было включить Bundle on Build и включить компиляцию в Build on. После того, как я отключу это, все работает нормально.
вероятно, не причина вашей проблемы, но, возможно, стоит просто попробовать.
была такая же ситуация. Помог следующий:
- Открыть Консоль Диспетчера Пакетов
- каталог миграция:
cd C:\YourSolution\YourProjectWithMigrations
- войдите в PM:
dotnet ef migrations add YourMigrationName
Я думаю, что это случилось со мной, когда я попытался запустить dotnet ef migrations add xyz
пока он уже работал.
в конце концов, чтобы быть уверенным, я остановил текущий запущенный экземпляр, затем снова запустил его, чтобы убедиться, что он был перестроен, снова остановил его, и я смог запустить dotnet ef migrations add
команда
откройте окно вывода и проверьте журнал сборки. В моем случае, хотя моя текущая конфигурация Release
, Add-Migration
построил проект в Debug
, который имел ошибку. По какой-то причине VS не отображал ошибку нигде, кроме окна вывода для меня.
Я думаю, что 2 команды ниже всегда работают (если вы запустите их в папке проекта)
- dotnet EF миграции добавить (объект базы данных fron ApplicationDbContextDBContext)
- обновление базы данных dotnet ef
возможно, это из-за того, что вы не добавили это в YOUR_PROJECT.csproj файл
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.Dotnet" Version="2.0.2" />
скорее всего, в вашем коде существует ошибка. Попробуйте сначала перестроить и исправить все ошибки.
случилось со мной, я пытаюсь откатить миграцию, но я еще не исправил ошибки в коде.
У меня была такая же ошибка. Что я сделал, я исправил ошибку, которую я имею в коде, и перестроил проект. Затем я запустил команду ms-dos, и она сработала.