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

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")]  

関連項目

ランタイムがアセンブリを検索する方法
アセンブリ属性の設定
セキュリティおよびローカライズされたサテライト アセンブリ
アプリケーションのローカライズ
アプリケーションのグローバライズとローカライズ