System.Resources.SatelliteContractVersionAttribute クラス

この記事では、この API のリファレンス ドキュメントへの補足的な解説を提供します。

デスクトップ アプリでは、この属性によりSatelliteContractVersionAttribute、メイン アセンブリとそのすべてのサテライトとの間にコントラクトが確立されます。 この属性をメイン アセンブリに適用し、このバージョンのメイン アセンブリで動作するサテライト アセンブリのバージョン番号を渡します。 リソース マネージャー (ResourceManagerオブジェクト) は、リソースを検索するときに、この属性で指定されたサテライト バージョンを メイン アセンブリに明示的に読み込みます。

メイン アセンブリを更新すると、そのアセンブリのバージョン番号がインクリメントされます。 ただし、既存のサテライト アセンブリがアプリと互換性がある場合は、サテライト アセンブリの新しいコピーを発送したくない場合があります。 この場合は、メイン アセンブリのバージョン番号をインクリメントしますが、サテライト コントラクトのバージョン番号は同じままにします。 リソース マネージャーは、既存のサテライト アセンブリを使用します。

サテライト アセンブリを変更するが、メイン アセンブリを変更しない場合は、サテライトのバージョン番号をインクリメントします。 この場合は、新しいサテライト アセンブリが古いサテライト アセンブリと下位互換性があることを示すサテライト アセンブリと共にパブリッシャー ポリシー アセンブリを出荷します。 リソース マネージャーは、属性に基づいてメイン アセンブリに書き込まれた古いコントラクト番号をSatelliteContractVersionAttribute引き続き使用します。ただし、ローダーはポリシー アセンブリで指定されたサテライト アセンブリ バージョンにバインドします。

共有コンポーネントのベンダーは、パブリッシャー ポリシー アセンブリを使用して、リリースされたアセンブリの特定のバージョンに関する互換性ステートメントを作成します。 発行元ポリシー アセンブリは、厳密に名前が付けられたアセンブリで、形式policy.<major>.<minor>.<ComponentAssemblyName>に名前が付けられ、グローバル アセンブリ キャッシュ (GAC)登録されます。 パブリッシャー ポリシーは、Al.exe (アセンブリ リンカー) ツールを使用して XML 構成ファイル (bindingRedirect> 要素参照<) から生成されます。 アセンブリ リンカーは、XML 構成ファイルをマニフェスト アセンブリにリンクするオプションと共 /link に使用され、グローバル アセンブリ キャッシュに格納されます。 発行元ポリシー アセンブリは、ベンダーがバグ修正を含むメインテナント リリース (Service Pack) を出荷するときに使用できます。

Windows 8.x ストア アプリ

パッケージ リソース インデックス (PRI) ファイルにはバージョン管理セマンティクスがないため、Windows 8.x ストア アプリではこの属性は無視されます。 さらに、Windows 8.x ストア パッケージ モデルでは、サテライト アセンブリや PRI ファイルを再デプロイする可能性がなく、すべてのリソースを同じパッケージに発送する必要があります。