Разница между "Build", "Compile" и "None" в действиях Build в проекте базы данных Visual Studio
Хотя я могу найти (в Интернете) много информации о PreDeploy
а также PostDeploy
Создайте действие для сценариев SQL в проекте базы данных Visual Studio 2012, и я понимаю, что None
не компилирует или не включает сценарий при развертывании, пожалуйста, можете однозначно посоветовать или направить меня к статье, которая определенно определяет тонкости Build
а также Compile
?
Мое грубое предположение, что оба они будут компилироваться со схемой, но только Build
будет развернут. Это правильно?
То, что я хотел бы, это правильная настройка для проверки моих сценариев заполнения по текущей схеме (и вызвать ошибку сборки на недопустимой структуре схемы), но НЕ для развертывания с публикацией базы данных или показом в сеансе сравнения схемы.
3 ответа
В проекте базы данных "Build" используется для файлов sql, а "Compile" используется для файлов C# или VB (т.е. SQL CLR). При построении проекта базы данных выводится файл dacpac, содержащий обработанные файлы sql "Build" и файл сборки.NET (dll), содержащий обработанные файлы C# или VB "Compile".
Файлы, помеченные как "Нет", просто игнорируются.
Я только что обнаружил это на собственном горьком опыте, но, видимо, опечатка, такая как «Построено» (вместо «Сборка»), действует так же, как «Нет». Я не подтверждал, но предположительно любое слово, которое не соответствует допустимому значению, будет обрабатываться так же, как «Нет», и сборка просто пропустит его.
Боковое примечание: я думаю, что, вероятно, предпочел бы, чтобы сборка завершилась ошибкой с неизвестным значением, но должно быть достаточно просто написать сценарий закрытой проверки, чтобы обнаружить это.
Компиляция означает превращение исходного кода в объектный код.
Сборка включает в себя компиляцию, но в SSDT развертывание является отдельным действием от сборки.
Для справки: https://en.wikipedia.org/wiki/Software_build