方法: ClickOnce を使用して、複数のバージョンの .NET Framework で実行できるアプリケーションを配置する
ClickOnce 配置テクノロジを使用すると、複数のバージョンの .NET Framework を対象とするアプリケーションを配置できます。 これには、アプリケーション マニフェストと配置マニフェストを生成して更新する必要があります。
注意
複数のバージョンの .NET Framework を対象とするようにアプリケーションを変更する前に、そのアプリケーションが .NET Framework の複数のバージョンで動作することを確認する必要があります。 該当バージョンの共通言語ランタイムは、.NET Framework 4 と .NET Framework 2.0、.NET Framework 3.0、.NET Framework 3.5 とで異なります。
このプロセスは、次の手順で実行します。
アプリケーション マニフェストと配置マニフェストを生成します。
アプリケーション マニフェストを変更して、複数のバージョンの .NET Framework を指定します。
app.config ファイルを変更して、互換性のある .NET Framework ランタイム バージョンを指定します。
アプリケーション マニフェストを変更して、依存アセンブリを .NET Framework アセンブリとして指定します。
アプリケーション マニフェストに署名します。
配置マニフェストを更新し、配置マニフェストに署名します。
アプリケーション マニフェストと配置マニフェストを生成するには
- 発行ウィザード、またはプロジェクト デザイナーの [発行] ページを使用して、アプリケーションを発行し、アプリケーション マニフェストと配置マニフェストのファイルを生成します。 詳細については、「方法: 発行ウィザードを使用して ClickOnce アプリケーションを発行する」または「[発行] ページ (プロジェクト デザイナー)」を参照してください。
アプリケーション マニフェストを変更して、複数のバージョンの .NET Framework を指定するには
publish ディレクトリで、Visual Studio の XML エディターを使用して配置マニフェストを開きます。 配置マニフェストのファイル名拡張子は .application です。
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2"> 要素と </compatibleFrameworks> 要素の間にある XML コードを、アプリケーションでサポートする .NET Framework のバージョンを指定する XML に置き換えます。
次の表に、使用可能な .NET Framework のバージョンの一部と、対応する XML を示します。これらの XML は配置マニフェストに追加できます。
.NET Framework のバージョン
XML
4 Client
<framework targetVersion="4.0" profile="Client" supportedRuntime="4.0.30319" />
4 Full
<framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.30319" />
3.5 Client
<framework targetVersion="3.5" profile="Client" supportedRuntime="2.0.50727" />
3.5 Full
<framework targetVersion="3.5" profile="Full" supportedRuntime="2.0.50727" />
3.0
<framework targetVersion="3.0" supportedRuntime="2.0.50727" />
app.config ファイルを変更して、互換性のある .NET Framework ランタイム バージョンを指定するには
ソリューション エクスプローラーで、Visual Studio の XML エディターを使用して App.config ファイルを開きます。
<startup> 要素と </startup> 要素の間にある XML コードを、アプリケーションでサポートする .NET Framework ランタイムを指定する XML に置き換えます (または XML コードを追加します)。
次の表に、使用可能な .NET Framework のバージョンの一部と、対応する XML を示します。これらの XML は配置マニフェストに追加できます。
.NET Framework ランタイムのバージョン
XML
4 Client
<supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0,Profile=Client" />
4 Full
<supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0" />
3.5 Full
<supportedRuntime version="v2.0.50727"/>
3.5 Client
<supportedRuntime version="v2.0.50727" sku="Client"/>
アプリケーション マニフェストを変更して、依存アセンブリを .NET Framework アセンブリとして指定するには
publish ディレクトリで、Visual Studio の XML エディターを使用してアプリケーション マニフェストを開きます。 アプリケーション マニフェストのファイル名拡張子は .manifest です。
センティネル アセンブリ (System.Core、WindowsBase、Sentinel.v3.5Client、および System.Data.Entity) の依存関係を示す XML に group="framework" を追加します。 XML は、次の例のようになります。
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true" group="framework">
Microsoft.Windows.CommonLanguageRuntime の <assemblyIdentity> 要素のバージョン番号を、対象とする .NET Framework のうち最低のバージョン番号に更新します。 たとえば、.NET Framework 3.5 と .NET Framework 4 をアプリケーションで対象とする場合は、バージョン番号 2.0.50727.0 を使用します。XML は、次のようになります。
<dependency> <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true"> <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50727.0" /> </dependentAssembly> </dependency>
アプリケーション マニフェストと配置マニフェストを更新し、それらに再署名するには
- アプリケーション マニフェストと配置マニフェストを更新し、それらに再署名します。 詳細については、「方法: アプリケーション マニフェストおよび配置マニフェストに再署名する」を参照してください。
参照
参照
<dependency> 要素 (ClickOnce アプリケーション)