0

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

残念ながら、このデータは .btproj ファイルではなく btproj.user ファイルに格納されており、クライアントは btproj.user ファイルをソース管理システムにチェックインすることを望んでいません。

(参考までに、CodePlex の BizTalk Build Generator を使用しています。)

4

1 に答える 1

2

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>

コマンドラインを使用するか、Property スイッチを使用して VS または TeamBuild で msbuild 引数を追加することにより、これらのプロパティ値を簡単にオーバーライドできます。

msbuild.exe MyBizTalkProject.proj /p:BizTalkDatabaseServerName=SqlCluster 

このプロジェクトの開発者は、デフォルトの MSBuild.Custom.properties ファイルを次のように書き直す必要があります。

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

このアプローチを使用すると、「。」identifier (ローカル SQL Server 用) は、パラメーターの値が指定されていない場合にのみ使用されます。現在の実装では、プロパティの定義が可能だからです! コマンドラインから渡された値を上書きします。そのため、そのことに注意してください。

于 2012-01-17T19:16:05.433 に答える