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 アプリケーションを発行 する」または「 ClickOnce 発行プロパティを指定する」を参照してください。
注
ClickOnce for .NET Core 3.1 および .NET 5 以降では、発行ウィザードとプロジェクト デザイナーの [発行] ページではなく、発行ツールを使用して配置プロパティを設定します。 詳細については、「ClickOnce と ClickOnce for .NET を使用した .NET Windows アプリケーションの配置」を参照してください。
配置マニフェストを変更して複数の .NET Framework バージョンを一覧表示するには
発行ディレクトリで、Visual Studio の XML エディターを使用して配置マニフェストを開きます。 配置マニフェストには 、.application ファイル名拡張子があります。
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
要素と</compatibleFrameworks>
要素の間の XML コードを、アプリケーションでサポートされている .NET Framework のバージョンを一覧表示する XML に置き換えます。次の表は、使用可能な .NET Framework バージョンの一部と、配置マニフェストに追加できる対応する XML を示しています。
.NET Framework のバージョン XML 4 クライアント <フレームワーク targetVersion="4.0" profile="Client" supportedRuntime="4.0.30319" /> 4 フル <framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.30319" /> 3.5 クライアント <framework targetVersion="3.5" profile="Client" supportedRuntime="2.0.50727" /> 3.5 フル <framework targetVersion="3.5" profile="Full" supportedRuntime="2.0.50727" /> 3.0 <framework targetVersion="3.0" supportedRuntime="2.0.50727" />
互換性のある .NET Framework ランタイム バージョンを一覧表示するように app.config ファイルを変更するには
ソリューション エクスプローラーで、Visual Studio の XML エディターを使用して app.config ファイルを開きます。
<startup>
要素と</startup>
要素の間の XML コードを、アプリケーションでサポートされている .NET Framework ランタイムを一覧表示する XML に置き換える (または追加する) 必要があります。次の表は、使用可能な .NET Framework バージョンの一部と、配置マニフェストに追加できる対応する XML を示しています。
.NET Framework ランタイム バージョン XML 4 クライアント <supportedRuntime version="v4.0.30319" sku="NETFramework,Version=v4.0,Profile=Client" /> 4 フル <supportedRuntime version="v4.0.30319" sku="NETFramework,Version=v4.0" /> 3.5 フル <supportedRuntime version="v2.0.50727"/> 3.5 クライアント <supportedRuntime version="v2.0.50727" sku="Client"/>
依存アセンブリを .NET Framework アセンブリとしてマークするようにアプリケーション マニフェストを変更するには
発行ディレクトリで、Visual Studio の XML エディターを使用してアプリケーション マニフェストを開きます。 配置マニフェストには 、.manifest ファイル名拡張子があります。
sentinel アセンブリ (
group="framework"
、System.Core
、WindowsBase
、Sentinel.v3.5Client
) の依存関係 XML にSystem.Data.Entity
を追加します。 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>
アプリケーション マニフェストと配置マニフェストを更新して再署名するには
- アプリケーション マニフェストと配置マニフェストを更新して再署名します。 詳細については、「方法: アプリケーション マニフェストと配置マニフェストに再署名する」を参照してください。