6

Хотя я могу найти (в Интернете) много информации о моделировочных действияхPreDeploy и PostDeployдля SQL скрипты в Visual Studio 2012 Проект базы данных, и я понимаю, что None не скомпилирует или не включит скрипт при развертывании, пожалуйста, может ли кто-нибудь окончательно сообщить или направить меня в статью, которая окончательно определяет тонкости Build и Compile?Разница между «Build», «Compile» и «Нет» Строить действия в Visual Studio проекте базы данных

Мое приблизительное предположение: и из них будут скомпилированы против схемы, но будет развернуто только Build. Это верно?

Что мне нужно - это правильная настройка для проверки моих сценариев посева в отношении текущей схемы (и возникновения ошибки сборки при недействительной структуре схемы), но НЕ развертывать с публикацией базы данных или отображаться в сеансе сравнения схемы.

+0

BTW, приятный подробный ответ в [this] (http://stackoverflow.com/questions/145752/what-are-the-various-build-action-settings-in-visual-studio-project-properties) не в контексте проекта базы данных. – Dib

+0

Ну, «Build» в контексте сценария после развертывания/предварительного развертывания позволит вам только один. Остальные «включены» в этот скрипт. Вы не хотите пытаться настроить эти файлы на «сборку», потому что компилятор попытается создать их как таблицы/представления/другие объекты. Я не пытался их компилировать до того, чтобы не знать, что это будет делать. Обычно я оставляю их «Нет» и тщательно их проверяю при написании. Вы можете написать вокруг них логику try/catch, чтобы помочь поймать ошибки. Они не будут развертывать публикацию БД, если вы не включите их. –

ответ

2

В базе данных проекта, "Build" используется для SQL-файлов и "Compile" используется для C# или VB (т.е. SQL CLR) файлов. При создании проекта базы данных выход представляет собой файл dacpac, содержащий обработанные «Build» sql-файлы и файл сборки .NET (DLL), содержащий обработанные файлы «Скомпилировать» C# или VB.

Файлы, помеченные как «Нет», просто игнорируются.