Share via


メイン アセンブリおよびローカライズされたサテライト アセンブリのバージョン番号

SatelliteContractVersionAttribute クラスは、リソース マネージャーによりローカライズされたリソースを使用するメイン アセンブリのバージョン管理をサポートします。アプリケーションのメイン アセンブリに対して SatelliteContractVersionAttribute を適用することで、サテライト アセンブリを更新しなくても、アセンブリの更新と再配置を実行できます。たとえば、サテライト アセンブリのリビルドおよび再配置をしないで、新しいリソースを導入しない Service Pack で SatelliteContractVersionAttribute クラスを使用できます。ローカライズされたリソースを利用可能にするには、メイン アセンブリのサテライト コントラクト バージョンが、使用するサテライト アセンブリの AssemblyVersionAttribute クラスと一致している必要があります。SatelliteContractVersionAttribute には正確なバージョン番号を指定する必要があります。"*" などのワイルドカード文字は使用できません。詳細については、「デスクトップ アプリケーションのリソースの取得」を参照してください。

アセンブリの更新

SatelliteContractVersionAttribute クラスを使用すると、サテライト アセンブリを更新せずにメイン アセンブリを更新できます。逆に、メイン アセンブリを更新せずに、サテライト アセンブリを更新することもできます。メイン アセンブリを更新すると、該当するアセンブリ バージョン番号が変更されます。既存のサテライト アセンブリを継続して使用する場合は、メイン アセンブリのバージョン番号を変更し、サテライト契約バージョン番号は変更せずに据え置きます。たとえば、初回リリースで、メイン アセンブリのバージョンが 1.0.0.0 であるとします。サテライト契約バージョンとサテライト アセンブリのアセンブリ バージョンも 1.0.0.0 になります。Service Pack 用のメイン アセンブリを更新する必要がある場合は、アセンブリのバージョンを 1.0.0.1 に変更した上で、サテライト契約バージョンとサテライトのアセンブリ バージョンは 1.0.0.0 のままに据え置くことができます。

サテライト アセンブリは更新するが、メイン アセンブリは更新する必要がない場合は、サテライト アセンブリの AssemblyVersionAttribute を変更します。サテライト アセンブリと共に、新しいサテライト アセンブリが従来のサテライト アセンブリと互換性があることを説明するポリシー アセンブリを同梱する必要があります。ポリシーの詳細については、「ランタイムがアセンブリを検索する方法」を参照してください。

サテライト契約バージョンを設定する方法を次のコードに示します。このコードは、ビルド スクリプトに配置することも、AssemblyInfo.vb ファイルまたは AssemblyInfo.cs ファイルに配置することもできます。

<Assembly: SatelliteContractVersionAttribute("4.3.2.1")>
[assembly: SatelliteContractVersionAttribute("4.3.2.1")]

参照

概念

ランタイムがアセンブリを検索する方法

アセンブリ属性の設定

セキュリティおよびローカライズされたサテライト アセンブリ

その他の技術情報

アプリケーションのローカライズ

アプリケーションのグローバライズとローカライズ