2013-04-08 81 views
3

我們正在嘗試設置我們的數據庫項目的自動部署並需要一些幫助。VS2012自動化數據庫部署問題 - .dacpac不存在?

我們使用VS2012,TFS 2012和SQL Server 2008 R2。 我們有一個包含所有項目的解決方案文件。 我們希望能夠按設定的時間間隔建立和部署數據庫項目 - 比如每晚說。

我所創建的發佈配置它的工作原理,但是當我安排構建定義我得到這個錯誤:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets (1255): File "C:\Builds\1\projectName\Deploy Database\output\Binaries\Storage.SqlServer.dacpac" does not exist.

構建機器和部署服務器的所有設置正確,據我可以告訴。

我該如何解決這個問題?我們沒有可以看到的.dacpac文件。

+0

您確定您的數據庫項目建設了嗎?它是否建立了創建一個dacpac?它是否在本地構建一個? – 2013-05-03 15:19:48

回答

0

「我們沒有可以看到的.dacpac文件。」 在猜測這將是爲什麼它與「文件」C:\ Builds \ 1 \ projectName \ Deploy Database \ output \ Binaries \ Storage.SqlServer.dacpac「不存在。」的原因。

想必你需要更早的任務(一個或多個),其中(例如) 一)會從源頭控制, B)數據庫中定義創建基於定義的數據庫,然後 C)可以自動執行通過sqlpackage.exe創建.dacpac(例如:here's a blog walkthough

0

檢查構建日誌和構建服務器上的輸出目錄(例如\ project \ bin \ Debug或\ project \ bin \ Release)以查看項目實際上正在建造中。如果未構建,請檢查解決方案的配置屬性以確保爲您的數據庫項目檢查了構建標誌。

如果正在構建但未被輸出,那麼如果沒有對數據庫項目的直接引用或依賴關係,就會發生這種情況。檢查解決方案的項目依賴性並確保爲數據庫項目檢查取決於標誌。

如果正在按照預期構建數據庫項目,但仍未部署數據庫項目,那麼解決方案的「配置屬性」中也可能會解決此問題。

0

我今天剛碰到這個。我通過添加構建解決方案的構建任務來解決此問題。這在我的dacpac文件中生成了部署命令查找它的bin文件夾。