Visual Studio 2015 падает каждый раз, когда я запускаю Update-Database

Каждый раз, когда я запускаю Update-Database из консоли диспетчера пакетов, Visual Studio 2015 дает сбой. В данный момент происходит запуск метода миграций Configuration.Seed. Любая идея, где я должен искать, чтобы узнать, что происходит?

1 ответ

Существует нетривиальная вероятность того, что сбой вызван кодом проекта, а не внутренней работой Visual Studio.

Как предложил m_david в вопросе, связанном с OP, первым шагом является добавление следующего кода в начале Seed()¹:

if (System.Diagnostics.Debugger.IsAttached == false)
{
    System.Diagnostics.Debugger.Launch();
}

Это приведет к появлению приглашения ², которое спросит, следует ли запускать отладчик в новом экземпляре Visual Studio или в другом запущенном в данный момент экземпляре.

После этого выходные данные отладчика будут записаны в выходные данные отладки этого экземпляра VS, а необработанные исключения будут рассматриваться как точки останова - с выделением строки кода, вызывающей проблемы, подробностей исключений и всего этого.

В моем случае сбой был вызван рекурсивным set() операция в члене одного из субъектов, что привело к StackruException,


Your или ваш DbMigrationsConfiguration конструктор подкласса, если сбой произошел раньше. Или, возможно, в другом месте.

² Так что не забывайте комментировать этот код, когда он вам не нужен.