メイン アセンブリおよびローカライズされたサテライト アセンブリのバージョン番号
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")]