0
是否可以指定(或覆蓋)爲BizTalk項目部署ApplicationName,數據庫服務器和數據庫名稱?如果是這樣,怎麼樣?MSBuild和BizTalk
不幸的是,這些數據存儲在btproj.user文件中而不是.btproj文件中,而我的客戶端不想將btproj.user文件檢入源代碼管理系統。
(僅供參考 - 我們正在使用BizTalk CodePlex從構建發生器)
是否可以指定(或覆蓋)爲BizTalk項目部署ApplicationName,數據庫服務器和數據庫名稱?如果是這樣,怎麼樣?MSBuild和BizTalk
不幸的是,這些數據存儲在btproj.user文件中而不是.btproj文件中,而我的客戶端不想將btproj.user文件檢入源代碼管理系統。
(僅供參考 - 我們正在使用BizTalk CodePlex從構建發生器)
我剛剛審查了CodePlex上源。當我正確理解所有內容時,他們正在生成
%AppName%.Custom.targets
%AppName%.Custom.properties
文件。屬性中的文件的一些屬性列出了BTS數據庫連接
<BizTalkDatabaseServerName>.</BizTalkDatabaseServerName>
<BizTalkManagementDatabaseName>BizTalkMgmtDB</BizTalkManagementDatabaseName>
<BizTalkManagementDatabaseConnectionString>
server=$(BizTalkDatabaseServerName);
database=$(BizTalkManagementDatabaseName);
integrated security=sspi;
</BizTalkManagementDatabaseConnectionString>
<PipelineComponentsFolderPath>C:\Program Files\Microsoft BizTalk Server 2010\Pipeline Components</PipelineComponentsFolderPath>
您可以輕鬆地通過使用命令行或通過在VS添加額外的MSBuild參數或使用屬性TeamBuild切換
msbuild.exe MyBizTalkProject.proj /p:BizTalkDatabaseServerName=SqlCluster
覆蓋這些屬性值
該項目的開發商應該重寫默認MSBuild.Custom.properties文件看起來像這樣
<BizTalkDatabaseServerName Condition="'$(BizTalkDatabaseServerName)'==''">.</BizTalkDatabaseServerName>
通過使用這樣的探索「。」標識符(僅適用於本地SQL Server)僅在未給出參數值時使用。因爲在目前的實施中,物業的定義可以!覆蓋你從命令行傳遞的值。所以要注意這一點。