2012-01-17 11 views
0

BizTalkプロジェクトのDeploy ApplicationName、データベースサーバー、およびデータベース名を指定(または上書き)することはできますか?もしそうなら、どうですか?MSBuildとBizTalk

残念ながら、このデータは.btprojファイルではなくbtproj.userファイルに保存され、クライアントはbtproj.userファイルをソース管理システムにチェックインしたくありません。

(FYI - 私たちは、CodePlexのからジェネレータを構築するのBizTalkを使用しています。)

答えて

2

は、私はちょうどCodePlexの上のソースを確認しました。私がすべてを正しく理解したら、彼らは生成している。

%AppName%.Custom.targets 
%AppName%.Custom.properties 

ファイル。プロパティの中でいくつかのプロパティは、あなたが簡単に

msbuild.exe MyBizTalkProject.proj /p:BizTalkDatabaseServerName=SqlCluster 
切り替えるコマンドラインを使用するか、VSに追加MSBuildの引数を追加またはTeamBuildは、プロパティを使用して、これらのプロパティの値をオーバーライドすることができます

<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> 

BTSデータベース接続のためにリストされているファイル

このプロジェクトの開発者は、このAを使用することにより、この

<BizTalkDatabaseServerName Condition="'$(BizTalkDatabaseServerName)'==''">.</BizTalkDatabaseServerName> 

のように見えるように、デフォルトのMSBuild.Custom.propertiesファイルを書き換える必要があります"。"識別子(ローカルSQL Server用)は、パラメータの値が指定されていない場合にのみ使用されます。現在の実装では、Propertyの定義が可能です!コマンドラインから渡された値をオーバーライドします。だからそれに注意してください。