方法: 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 とで異なります。

このプロセスは、次の手順で実行します。

  1. アプリケーション マニフェストと配置マニフェストを生成します。

  2. アプリケーション マニフェストを変更して、複数のバージョンの .NET Framework を指定します。

  3. app.config ファイルを変更して、互換性のある .NET Framework ランタイム バージョンを指定します。

  4. アプリケーション マニフェストを変更して、依存アセンブリを .NET Framework アセンブリとして指定します。

  5. アプリケーション マニフェストに署名します。

  6. 配置マニフェストを更新し、配置マニフェストに署名します。

アプリケーション マニフェストと配置マニフェストを生成するには

アプリケーション マニフェストを変更して、複数のバージョンの .NET Framework を指定するには

  1. publish ディレクトリで、Visual Studio の XML エディターを使用して配置マニフェストを開きます。 配置マニフェストのファイル名拡張子は .application です。

  2. <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 ランタイム バージョンを指定するには

  1. ソリューション エクスプローラーで、Visual Studio の XML エディターを使用して App.config ファイルを開きます。

  2. <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 アセンブリとして指定するには

  1. publish ディレクトリで、Visual Studio の XML エディターを使用してアプリケーション マニフェストを開きます。 アプリケーション マニフェストのファイル名拡張子は .manifest です。

  2. センティネル アセンブリ (System.Core、WindowsBase、Sentinel.v3.5Client、および System.Data.Entity) の依存関係を示す XML に group="framework" を追加します。 XML は、次の例のようになります。

    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true" group="framework">
    
  3. 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 アプリケーション)

ClickOnce 配置マニフェスト

その他の技術情報

ClickOnce アプリケーションの発行

<compatibleFrameworks> 要素 (ClickOnce 配置)

.NET Framework の構成ファイル スキーマ