次の方法で共有


BizTalk Server プロジェクトのバージョン管理

.NET Frameworkを使用して開発する場合、バージョン管理は、バージョン番号の変更の影響を最小限に抑えるために機能する標準の規則セットによって管理されます。 .NET Framework のアプリケーションまたはコンポーネントの展開方法に応じて、依存関係は、アプリケーション構成ファイル、XCOPY インストール、またはその他の.NET Framework展開メカニズムによって処理できます。 次のセクションで示すように、BizTalk Serverでは、バージョン管理と依存関係の複雑さが増します。

バージョン番号の変更による影響

.NET Framework開発では、ビルドの実行時にアセンブリのバージョン番号を現在のビルド番号に更新するのが一般的です。 ただし、BizTalk ソリューションを開発する場合は、アセンブリ バージョン番号を変更すると、アセンブリと、そのアセンブリ バージョン番号を使って DLL を参照する依存アイテムの間の関係が壊れることがあります。 次の表に、バージョン番号を使用してBizTalk Server アセンブリを参照する項目と、アセンブリのバージョン番号を変更した場合の影響を示します。

Entity アセンブリ バージョン番号を変更することによる影響
バインド ファイル アセンブリ バージョン番号を変更すると、そのアセンブリを参照するすべてのバインド ファイルは失敗します。 この理由は、バインド ファイルはアセンブリの参照に、バージョン番号を含む属性を使用するためです。

メモ帳などのエディターを使用して、バインド ファイルのバージョン情報を更新できます。 BizTalk Server管理コンソールを使用して、ソリューションを再デプロイし、バインド ファイルを再生成することもできます。 スクリプトを使用して、展開とバージョン管理を自動化することもできます。 展開の詳細については、「 BizTalk アプリケーションの展開と管理」を参照してください。
BAM 追跡プロファイル定義 (.btt) ファイル アセンブリ バージョン番号を変更すると、既存の BAM 追跡プロファイルの定義ファイルは失敗します。 BAM 追跡ファイルはバイナリ ファイル形式であり編集できないので、再生成する必要があります。 BAM 追跡プロファイルが必須の場合は、次のいずれかの操作を行う必要があります。

- ビルド プロセス中にバージョン番号を頻繁に更新しないようにします。
- バージョン番号が安定するまで BAM 追跡プロファイルのビルドを遅らせる。
Web サービス公開ウィザードを使って公開された Web サービス Web サービス発行ウィザードを使用して ASP.NET Web インターフェイスを作成すると、BizTalk Server アセンブリのアセンブリ バージョンが ASP.NET ソース コードに含まれます。 アセンブリのバージョン番号は、実行時に web サービス操作の bodyTypeAssemblyQualifiedName プロパティの一部として、ASP.NET インターフェイスによって使用されます。 BizTalk Server アセンブリのバージョン番号が bodyTypeAssemblyQualifiedName プロパティを更新せずに変更された場合、後続の Web サービス操作はBizTalk Serverによって拒否されます。

受信場所で XmlDefaultPipeline を使用する場合、サブスクリプションはドキュメントの種類に依存します。 サブスクリプションでは埋め込みアセンブリ情報が使用され、アセンブリが存在しない場合は失敗します。 PassThruPipeline を使用する場合、サブスクリプションではこの埋め込みアセンブリ情報が無視されます。PassThruPipeline は、ポートを公開し、ウィザードで受信場所を作成する場合の既定のパイプラインです。

BizTalk Server アセンブリと配置の詳細については、「BizTalk アセンブリ」を参照してください。

バージョン管理の方法

プロジェクトを計画する場合は、次のいずれかの方法を選択できます。

  • 任意の成果物に対して固定のアセンブリ バージョンを使用し、ファイルのバージョン番号のみを増やす。

  • 開発作業が進行する過程で、アセンブリ バージョン番号とファイルのバージョン番号の両方を増やす。

    これらの比較を次の表に示します。

固定のアセンブリ バージョン番号と動的なファイル バージョン番号 動的なアセンブリ バージョン番号と固定または動的なファイル バージョン番号
アセンブリ バージョン番号を固定の番号にする。

ファイル バージョン番号をビルド番号にする。
アセンブリ バージョン番号をビルド番号にする。

ファイル バージョン番号をビルド番号にする。
ランタイムBizTalk Server、複数のアセンブリがインストールされている場合、アセンブリのバージョンが間違っている可能性があります。 BizTalk Serverは、複数のアセンブリがインストールされている場合でも、常に最新バージョンのアセンブリを実行します。
常にソリューションの 1 バージョンのみが展開されます。 ソリューションの異なるバージョンを、並列で展開可能です (スキーマ定義などソリューションの他の側面がクラッシュすることがあります)。
BizTalk ホストを再起動し、更新したアセンブリを強制的に読み込む必要があります。 BizTalk Server強制的に新しいアセンブリを読み込みます。
バインド ファイルや追跡プロファイルなど、アセンブリ バージョン番号を参照するファイルを編集する必要がないので、新しい展開を簡単に作成できます。 アセンブリ バージョン番号を参照するファイルを常に新しいバージョンに更新する必要があり、展開に多くの作業が必要です。

システムのプロトタイプを作成したり、他の種類の非配布プロジェクトを開発する場合は、固定のアセンブリ バージョン番号と動的なファイル バージョン番号を使用することもできます。 エンド ユーザーにアプリケーションを配布しない場合は、アセンブリ バージョン番号を固定してファイル バージョン番号を増やすことにより、展開作業を効率化し、依存関係を壊さないようにできます。 バージョンを追跡するには、ビルドごとに必ずファイル バージョン番号を増やします。

エンド ユーザーに配布するプロジェクトをビルドする場合は、アセンブリ バージョン番号を増やすことを検討してください。意味のあるファイル バージョン番号を保存しておくこともお勧めします。 この方法ではビルド番号とそれに関連する依存関係を修正する作業が生じますが、最新バージョンのアセンブリが確実に使用されるようになります。 自動化された展開スクリプトを使用すれば、バージョン番号の変更に伴う作業を減らすことができます。 デプロイのサンプルを表示するには、「アプリケーションのデプロイ (BizTalk Server サンプル フォルダー)」を参照してください

Note

適切なファイルを確実に配布でき、管理と機能拡張が簡単なバージョン管理メカニズムを使用してください。

マップ関数のバージョン番号付け機能

.NET アセンブリは、 Scripting Functoid を使用してマップ内から呼び出すことができます。 この方法では高い柔軟性が得られ、開発者はカスタム マッピングに関するさまざまな問題を解決することができます。 また、マップに一意の制約が適用されます。アセンブリ型名だけでなく、呼び出される完全なアセンブリ バージョン番号も内部的に参照する必要があります。 この結果、マップによって呼び出されるアセンブリのバージョン番号が変わると、そのアセンブリを参照するすべてのリンクが壊れることになります。

この問題を回避するため、アセンブリをマップから呼び出す必要がある場合は、マップの機能だけを保持する特定のアセンブリを作成し、このアセンブリのアセンブリ バージョン番号を固定することをお勧めします。 こうすると、マップを崩すことなく他のヘルパー関数ではアセンブリ バージョン番号を更新できます。

マップを開発した後、マップから参照するアセンブリが変更される場合については、マップ エディター外でマップ ファイルを更新し、新しいバージョン番号を反映することを検討してください。

メモ帳を使用してマップ ファイルを修正し、新しいバージョン番号を反映するには

  1. [スタート] メニューを使用して、メモ帳を起動します。

  2. メモ帳の [ ファイル ] メニューの [ 開く] をクリックします。 [ 開く ] ダイアログ ボックスで、変更するマップ ファイルを選択し、[ 開く] をクリックします。

  3. [編集] メニューの [検索] をクリックします。 [ 検索 ] ダイアログ ボックスに「 Assembly=」と入力し、[ 次の検索] をクリックします。

  4. 外部アセンブリへのスクリプト参照がある場合、メモ帳では次のような XML 要素が検索されます。

    <Script Language="ExternalAssembly" Assembly="Contoso.Scripts, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5145e4e089" Class="Contoso.Scripts" Function="CalculateValue" AssemblyPath="Contoso.Scripts.dll"/>  
    

    バージョン番号を更新します。 複数のインスタンスがある場合は、[編集] メニューの [置換] を使用します。

  5. ファイルを保存します。

    これで、マップ エディターを使用してマップを開くことができます。

参照

BizTalk アプリケーション展開のベスト プラクティス
Admin (BizTalk Server Samples フォルダー)
プログラムによるオーケストレーションの新しいバージョンの展開と開始