6

行動雖然我能找到(網絡上)一個有關SQL的PreDeployPostDeploy生成操作大量信息的差異我知道None在部署時沒有編譯或包含腳本,請任何一個人可以明確地建議或指導我一篇確切地定義BuildCompile的微妙之處的文章嗎?之間的「生成」,「編譯」和「無」生成在Visual Studio數據庫項目

我粗略的假設是這些都會對編譯的模式既,但只有Build將被部署。它是否正確?

我想要的是正確的設置,以針對當前模式驗證我的種子腳本(並在無效的模式結構上導致生成錯誤),但不部署數據庫發佈或在模式比較會話中顯示。

+0

順便說一句,好的詳細答案在 [this](http://stackoverflow.com/questions/145752/what-are-the-various-build-action-settings-in-visual-studio-project-properties )帖子不在數據庫項目的上下文中。 – Dib

+0

那麼,在部署後/預部署腳本中的「構建」只會讓你擁有一個腳本。其餘的是「包含」該腳本。您不想嘗試將這些文件設置爲「構建」,因爲編譯器會嘗試將它們構建爲表/視圖/其他對象。我還沒有嘗試將它們設置爲編譯之前,所以不知道會做什麼。我通常將它們留作「無」,並在寫入時仔細檢查。你可以在它們周圍寫一些try/catch邏輯來幫助捕捉錯誤。除非包含數據庫,否則它們不會部署數據庫發佈。 –

回答

2

在數據庫項目中, 「生成」 是用於SQL文件和用於C#或VB(即SQL CLR)文件 「編譯」。在構建數據庫項目時,輸出是一個包含已處理的「Build」sql文件的dacpac文件和一個包含已處理的「編譯」C#或VB文件的.NET程序集(dll)文件。

標記爲「無」的文件被忽略。

相關問題