BuildManager.Build встречает исключения первого шанса в проекте средств данных SQL Server

Я использую метод BuildManager.Build для создания средств данных SQL Server / прикладной среды уровня данных / проекта базы данных Visual Studio. Тот же проект, когда он встроен в ту же конфигурацию вручную через Visual Studio, создается без исключения и за относительно короткий промежуток времени, около 10 секунд. Однако при программной сборке с помощью BuildManager.Build я сталкиваюсь с целым рядом исключений первого шанса, которые, похоже, происходят в пространстве имен antlr. Это делает процесс сборки чрезвычайно медленным. Это происходит потому, что программа, выполняющая BuildManager.Build, работает в режиме отладки? Кто-нибудь знает, как избавиться от первых шансов и, надеюсь, ускорить процесс сборки?

1 ответ

Решение

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

Исключения вызываются, потому что SSDT использует Antlr (как вы, вероятно, догадались) для анализа T-SQL, и он обнаружил что-то, что ему не нравится.

Ключом к этому является выяснение того, почему вы подключены как отладчик, это нормально с BuildManager.Build?? Статья MSDN не особенно полезна. Если вы можете найти способ запустить сборку без подключения в качестве отладчика, он вернется к нормальной скорости.

К вашему сведению - в этом случае сборка релиза / отладки не должна иметь никакого значения.

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