2013-06-25 20 views
0

我們最近從VS2010升級到VS2012 sqlproj;從VS2012構建/發佈只需要一兩分鐘的時間和速度。Msbuild堅持建設VS2012數據庫項目

但是,嘗試在(C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319)中構建MSBuild需要超過4小時!似乎不知道爲什麼。使用下面的ms-build命令

MSBuild/t:Build /p:VisualStudioVersion=11.0/p:TargetDatabaseName =「WirelineDb」; TargetConnectionString =「Data Source =(local); Integrated Security = True; Pooling = False」/p:PublishToDatabase = 「假」 /p:SqlPublishProfilePath="Default.publish.xml」 「C:\ TFS01 \布拉赫Database.sqlproj」

困在這裏小時... enter image description here

爲什麼MSBuild需要這麼長時間?另外VS2012用來構建和發佈數據庫,它是在幕後使用MSbuild嗎?或SqlPackage.exe?

+0

如果你嘗試喜歡較短的構建線會發生什麼: 「的MSBuild \ MyDBProject \ MyDBProject.sqlproj /噸:建立/ P:配置=」 本地」「?我們做了一個非常基本的構建,只是爲了生成dacpac文件,然後使用SQLPackage來發布它。 –

+0

當你添加/ v:diag時會發生什麼? – Nicodemeus

+0

嘗試較短的生成線仍然是相同的;它用/ v:診斷它吐出一個1MB的診斷文件; 它實質上發生在診斷這些線路頻率爲2小時文件 加載項目文件...(任務id:12) 建設項目模型和解決對象的相互依賴性...(任務id:12) 驗證項目模型。 ..(TaskId:12) –

回答

0

意識到這一切都是因爲我們仍然在運行舊的VS2010數據庫項目類型,它只是簡單地遷移到VS2012。從VS2012開始,它是一個SSDT SQL項目。

由於VSDBP與SSDT之間沒有遷移,我們必須手動重新創建數據庫項目 - 即我們將最新模式部署到SQL Server中,然後導入到新的SSDT項目中。

使用新的SSDT項目MSBuild只需要大約10分鐘即可完成構建和部署。

進一步閱讀有關SSDT: http://blog.navantis.com/ssdt-vs-data-dude-part-1/