2014-10-17 52 views
1

我們有一個MSBuild任務,它構建我們的* .sqlproj文件,其輸出作爲工件加載回TeamCity以供後續部署。在TeamCity 7構建服務器上構建* .sqlproj SSDT項目時* .dacpac文件的不規則文件命名

該用戶類似,我們有一些不可預知的輸出文件命名發生: Invalid file names when trying to deploy SSDT project with TeamCity 8

看來,有時候,它產生在/ bin這個輸出文件/版本:

MyProj.sqlproj.dacpac 

然後後續生成該文件在同一個文件夾中:

MyProj.dacpac 

我們還沒有做過深入測試 - 我是w如果其他人看到過類似的消息,或者有建議的故障排除路徑?

要清楚,這是一項相同的任務,針對同一個項目運行相同的命令 - 只需在新的檢查發生時反覆加班。

回答

0

那麼,在仔細查看構建日誌後,我可以看到TeamCity MSBuild runner似乎正在創建一些臨時虛擬項目文件(或者其他的東西,我不知道,因爲它們被刪除了) :

MyProj.sqlproj.teamcity 

我推測,這可能會造成混亂的MSBuild或與之相關的建築dacpacs的目標之一,所以我取代了TeamCity的MSBuild的建立與命令行步生成步驟是對原項目文件本身調用的MSBuild,這似乎解決了這個問題。它現在用我期待的文件生成dacpac。

我沒有時間進一步挖掘現在,但我可以相信,在某個地方有一些邏輯鏈是從正在使用的項目文件的名稱派生最終* .dacpac的名稱。我的猜測是,它只是在最後一次「剝離」之後剝離掉所有的東西。並附上「.dacpac」後綴。

我不完全知道爲什麼它會偶爾創建具有正確名* .dacpac文件,但我有時從構建服務器本身的命令行做的TeamCity的代理工作文件夾中的手工打造,所以這可能只是一個從以前的執行中剩下的文件。

0

聽起來像是你有衝突的.sqlproj文件被檢查。

我想通過檢查的歷史說起。

+0

我懷疑自己,並檢查了.sqlproj文件更改的歷史記錄。有很多合法的更改(例如向項目中添加新對象),但沒有任何內容會控制最終* .dacpac的名稱。 – Michael12345 2014-10-20 20:01:41

相關問題