メイン アセンブリおよびローカライズされたサテライト アセンブリのバージョン番号Version Numbers for Main and Localized Satellite Assemblies

SatelliteContractVersionAttribute クラスは、リソース マネージャーでローカライズされたリソースを使用するメイン アセンブリのバージョン管理をサポートしています。The SatelliteContractVersionAttribute class provides versioning support for a main assembly that uses localized resources by means of the resource manager. SatelliteContractVersionAttribute をアプリケーションのメイン アセンブリに適用すると、サテライト アセンブリを更新することなくメイン アセンブリを更新および再展開することができます。Applying the SatelliteContractVersionAttribute to an application's main assembly allows you to update and re-deploy the assembly without updating its satellite assemblies. たとえば、新しいリソースを導入していない Service Pack でも、サテライト アセンブリをリビルドして再展開することなく SatelliteContractVersionAttribute クラスを使用できます。For example, you can use the SatelliteContractVersionAttribute class with a service pack that doesn't introduce new resources without rebuilding and redeploying your satellite assemblies. ローカライズされたリソースを使用できるようにするには、メイン アセンブリのサテライト コントラクト バージョンがサテライト アセンブリの AssemblyVersionAttribute クラスと一致する必要があります。For your localized resources to be available, the satellite contract version of your main assembly must match the AssemblyVersionAttribute class of your satellite assemblies. SatelliteContractVersionAttributeに正確なバージョン番号を指定する必要があります。"" などのワイルドカード文字は使用できません。You must specify an exact version number in the SatelliteContractVersionAttribute; wildcard characters such as "" are not allowed. 詳細については、「デスクトップ アプリケーションのリソースの取得」を参照してください。For more information, see Retrieving Resources.

アセンブリを更新するUpdating Assemblies

SatelliteContractVersionAttribute クラスを使用すると、サテライト アセンブリを更新することなくメイン アセンブリを更新し、メイン アセンブリを更新することなくサテライト アセンブリを更新できます。The SatelliteContractVersionAttribute class allows you to update a main assembly without having to update your satellite assembly, or vice versa. メイン アセンブリを更新すると、メイン アセンブリのバージョン番号は変更されます。When the main assembly is updated, its assembly version number is changed. 既存のサテライト アセンブリを引き続き使用する場合は、メイン アセンブリのバージョン番号を変更し、サテライト コントラクト バージョン番号は同じままにします。If you want to continue using the existing satellite assemblies, change the main assembly's version number but leave the satellite contract version number the same. たとえば、最初のリリースで、メイン アセンブリのバージョンが 1.0.0.0 だとします。For example, in your first release your main assembly version may be 1.0.0.0. サテライト アセンブリのサテライト コントラクト バージョンとアセンブリ バージョンはいずれも 1.0.0.0 です。The satellite contract version and the assembly version of the satellite assembly will also be 1.0.0.0. Service Pack に合わせてメイン アセンブリを更新する必要がある場合は、アセンブリのバージョンを 1.0.0.1 に変更し、サテライト コントラクト バージョンとサテライトのアセンブリ バージョンは 1.0.0.0 のままにすることができます。If you need to update your main assembly for a service pack, you can change the assembly version to 1.0.0.1, while keeping the satellite contract version and the satellite's assembly version as 1.0.0.0.

サテライト アセンブリを更新する必要があり、メイン アセンブリの更新は不要な場合は、サテライト アセンブリの AssemblyVersionAttribute を変更します。If you need to update a satellite assembly but not your main assembly, you change the AssemblyVersionAttribute of the satellite assembly. サテライト アセンブリと共に、新しいサテライト アセンブリが古いサテライト アセンブリと互換性があることを示すポリシー アセンブリを含めて出荷する必要があります。Along with your satellite assembly, you will have to ship a policy assembly that states that your new satellite assembly is compatible with your old satellite assembly. ポリシーの詳細については、「ランタイムがアセンブリを検索する方法」を参照してください。For more information on policies, see How the Runtime Locates Assemblies.

次のコードは、サテライト コントラクト バージョンを設定する方法を示しています。The following code shows how to set the satellite contract version. このコードは、ビルド スクリプト、AssemblyInfo.vb または AssemblyInfo.cs に挿入できます。The code can be placed in either a build script or in the AssemblyInfo.vb or AssemblyInfo.cs file.

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

関連項目See Also

ランタイムがアセンブリを検索する方法 How the Runtime Locates Assemblies
アセンブリ属性の設定 Setting Assembly Attributes
セキュリティおよびローカライズされたサテライト アセンブリ Security and Localized Satellite Assemblies
アプリケーションのローカライズ Localizing Applications
アプリケーションのグローバライズとローカライズGlobalizing and Localizing Applications