Разница между "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

https://en.wikipedia.org/wiki/Compiler

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