「その他 - アプリケーション構成ファイル」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
編集の要約なし
22行目: 22行目:
アプリケーションがサポートするCLRのバージョンとオプションで.NET Frameworkのバージョンを指定する。<br>
アプリケーションがサポートするCLRのバージョンとオプションで.NET Frameworkのバージョンを指定する。<br>
<br>
<br>
===== 構文 =====
==== 構文 ====
  <supportedRuntime version="runtime version" sku="sku id"/>
  <supportedRuntime version="runtime version" sku="sku id"/>
* version
* version
42行目: 42行目:
*: sku属性の有効な値については、下記に示すsku属性の値に関するセクションを参照すること。
*: sku属性の有効な値については、下記に示すsku属性の値に関するセクションを参照すること。
<br>
<br>
===== version属性の値 =====
==== version属性 ====
version属性は、アプリケーションに必要なCLRのバージョンを指定する。<br>
version属性は、アプリケーションに必要なCLRのバージョンを指定する。<br>
全ての.NET Framework v4.xバージョンでv4.0が指定されていることに注意すること。<br>
全ての.NET Framework v4.xバージョンでv4.0が指定されていることに注意すること。<br>
76行目: 76行目:
</center>
</center>
<br>
<br>
===== sku属性の値 =====
==== sku属性 ====
sku属性は、ターゲットフレームワークモニカー (TFM) を使用して、アプリが対象として実行する必要がある.NET Framework のバージョンを示す。<br>
sku属性は、ターゲットフレームワークモニカー (TFM) を使用して、アプリが対象として実行する必要がある.NET Framework のバージョンを示す。<br>
<br>
<br>
123行目: 123行目:
|-
|-
| 4.8 || ".NETFramework,Version=v4.8"
| 4.8 || ".NETFramework,Version=v4.8"
|-
| .NET Core || "Microsoft.NETCore.App"
|-
| 5, 6, 7, 8, 9<br><br><u>※注意</u><br><u>デスクトップアプリケーション向け</u><br><u>Windows Forms, WPF, Avalonia UI等</u> || "Microsoft.WindowsDesktop.App"
|-
| ASP.NET Core || "Microsoft.AspNetCore.App"
|}
|}
</center>
</center>
<br>
<br>
===== アプリケーション構成ファイルの例 =====
==== アプリケーション構成ファイルの例 ====
サポートされているCLRのバージョンを、構成ファイルで指定する例を示す。<br>
サポートされているCLRのバージョンを、構成ファイルで指定する例を示す。<br>
ここでは、アプリケーション構成ファイルは、アプリケーションが.NET Framework4.7を対象としているものとする。<br>
ここでは、アプリケーション構成ファイルは、アプリケーションが.NET Framework4.7を対象としているものとする。<br>
156行目: 150行目:
<br><br>
<br><br>


== .NETバージョン選択ロジック ==
== <TargetFrameworks>要素 ==
<code><TargetFrameworks></code>要素は、.NET Core以降のアプリケーションに必要なCLRのバージョンを指定する。<br>
<br>
下表に、<TargetFrameworks>要素の有効な値を示す。<br>
<center>
{| class="wikitable" | style="background-color:#fefefe;"
|-
! style="background-color:#66CCFF;" | .NETのバージョン
! style="background-color:#66CCFF;" | <TargetFrameworks>要素
|-
| .NET Core || .NET Core 2.1 : "netcoreapp2.1"<br>.NET Core 3.1 : "netcoreapp3.1"
|-
| 5.0 || "net5.0"
|-
| 6.0 || "net6.0"
|-
| 7.0 || "net7.0"
|-
| 8.0 || "net8.0"
|-
| 9.0 || "net9.0"
|}
</center>
<br><br>
 
== .NET Frameworkバージョン選択ロジック ==
<code><supportedruntime></code>タグは、.Net Framework 1.1以降を使用してビルドした全てのアプリケーションで使用する必要がある。<br>
<code><supportedruntime></code>タグは、.Net Framework 1.1以降を使用してビルドした全てのアプリケーションで使用する必要がある。<br>
ただし、.Net Framework1.0のみをサポートするようにビルドしたアプリケーションでは、<code><requiredRuntime></code>タグを使用する必要がある。<br>
ただし、.Net Framework1.0のみをサポートするようにビルドしたアプリケーションでは、<code><requiredRuntime></code>タグを使用する必要がある。<br>

2025年1月7日 (火) 03:03時点における版

概要

アプリケーション構成ファイルは、アプリケーション固有の設定が記述されたXML形式のファイルである。
これは、様々な設定を変更する時に使用し、実行するアプリケーションの*.exeファイルと同じフォルダに*.exe.configファイルとして存在する。

アプリケーション構成ファイル内のスタートアップ設定スキーマは、
アプリケーションを実行する必要のある共通言語ランタイム(以下、CLRとする)のバージョンを指定する。

要素 説明
<requiredRuntime> .Net Framework1.0の共通言語ランタイムのみがアプリケーションでサポートされることを指定する。
.Net Framework1.1でビルドされたアプリケーションは、<supportedRuntime>要素を使用する。
<supportedRuntime> アプリケーションでサポートされる共通言語ランタイムのバージョンを指定する。
<startup> <requiredRuntime>要素と<supportedRuntime>要素を含む。



<supportedRuntime>要素

アプリケーションがサポートするCLRのバージョンとオプションで.NET Frameworkのバージョンを指定する。

構文

<supportedRuntime version="runtime version" sku="sku id"/>
  • version
    省略可能な属性である。
    このアプリケーションがサポートするCLRのバージョンを指定する文字列である。
    version属性の有効な値については、version属性の値に関するセクションを参照してください。

    注意 :
    .NET Framework3.5では、versionの値はmajorという形式になる。
    .NET Framework4以降では、メジャーバージョン番号とマイナーバージョン番号("v v4.0.30319"の代わりに"v4.0")のみが必要である。
    短い文字列を使用することを推奨する。


  • sku
    省略可能な属性である。
    在庫管理単位(SKU)を指定する文字列である。SKUはこのアプリケーションがサポートする.NET Frameworkのリリースを指定する。
    .NET Framework4.0以降では、sku属性の使用が推奨される。
    この属性を指定する場合は、アプリケーションが対象とする.NET Frameworkのバージョンを示す。

    sku属性の有効な値については、下記に示すsku属性の値に関するセクションを参照すること。


version属性

version属性は、アプリケーションに必要なCLRのバージョンを指定する。
全ての.NET Framework v4.xバージョンでv4.0が指定されていることに注意すること。

次の表に、version属性の有効な値を記載する。

.NET Frameworkのバージョン version属性
1.0 "v1.0.3705"
1.1 "v1.1.4322"
2.0 "v2.0.50727"
3.0 "v2.0.50727"
3.5 "v2.0.50727"
4.0 - 4.8 "v4.0"
5.0 "net5.0"
6.0 "net6.0"
7.0 "net7.0"
8.0 "net8.0"
9.0 "net9.0"


sku属性

sku属性は、ターゲットフレームワークモニカー (TFM) を使用して、アプリが対象として実行する必要がある.NET Framework のバージョンを示す。

※注意
この設定は、.NET Framework4以降の場合のみ指定する。

下表に、sku属性でサポートされている有効な値を記載する。

.NET Frameworkのバージョン sku属性
4.0 ".NETFramework,Version=v4.0"
4.0 Client Profile ".NETFramework,Version=v4.0,Profile=Client"
4.0 プラットフォームの更新プログラム 1 ".NETFramework、Version = v 4.0.1"
4.0 Client Profile、更新プログラム 1 ".NETFramework,Version=v4.0.1,Profile=Client"
4.0 プラットフォームの更新プログラム 2 ".NETFramework、Version = v 4.0.2"
4.0 Client Profile、更新プログラム 2 ".NETFramework,Version=v4.0.2,Profile=Client"
4.0 プラットフォームの更新プログラム 3 ".NETFramework,Version=v4.0.3"
4.0 Client Profile、更新プログラム 3 ".NETFramework,Version=v4.0.3,Profile=Client"
4.5 ".NETFramework,Version=v4.5"
4.5.1 ".NETFramework,Version=v4.5.1"
4.5.2 ".NETFramework,Version=v4.5.2"
4.6 ".NETFramework,Version=v4.6"
4.6.1 ".NETFramework,Version=v4.6.1"
4.6.2 ".NETFramework,Version=v4.6.2"
4.7 ".NETFramework,Version=v4.7"
4.7.1 ".NETFramework,Version=v4.7.1"
4.7.2 ".NETFramework、Version = v 4.7.2"
4.8 ".NETFramework,Version=v4.8"


アプリケーション構成ファイルの例

サポートされているCLRのバージョンを、構成ファイルで指定する例を示す。
ここでは、アプリケーション構成ファイルは、アプリケーションが.NET Framework4.7を対象としているものとする。

 <?xml version="1.0" encoding="utf-8" ?>
 <configuration>
    <startup>
       <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
    </startup>
 </configuration>


また、<supportedRuntime>要素を記述する順番で優先度が変わる。(先に記述したものが優先される)

 <?xml version="1.0" encoding="utf-8" ?>
 <configuration>
    <startup>
       <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
       <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.3,Profile=Client" />
    </startup>
 </configuration>



<TargetFrameworks>要素

<TargetFrameworks>要素は、.NET Core以降のアプリケーションに必要なCLRのバージョンを指定する。

下表に、<TargetFrameworks>要素の有効な値を示す。

.NETのバージョン <TargetFrameworks>要素
.NET Core .NET Core 2.1 : "netcoreapp2.1"
.NET Core 3.1 : "netcoreapp3.1"
5.0 "net5.0"
6.0 "net6.0"
7.0 "net7.0"
8.0 "net8.0"
9.0 "net9.0"



.NET Frameworkバージョン選択ロジック

<supportedruntime>タグは、.Net Framework 1.1以降を使用してビルドした全てのアプリケーションで使用する必要がある。
ただし、.Net Framework1.0のみをサポートするようにビルドしたアプリケーションでは、<requiredRuntime>タグを使用する必要がある。

.NETアプリケーションがどのようにして.Net Frameworkのバージョンを使い分けるかどうかを以下に示す。

アプリケーション構成ファイル (.configファイル) が存在する場合

  • <supportedRuntime>タグがアプリケーション構成ファイルが存在する場合
    • 対応する.Net Frameworkのバージョンがインストールされている場合
      対応する.Net Frameworkが使用される。
    • 対応する.Net Frameworkのバージョンがインストールされていない場合
      • Visual Studio等でビルド時に指定した.Net Frameworkのバージョンがインストールされている場合
        Visual Studio等でビルド時に指定した.Net Frameworkのバージョンが使用される。
      • Visual Studio等でビルド時に指定した.Net Frameworkのバージョンがインストールされていない場合
        現在インストールされている最新の.Net Frameworkのバージョンが使用される。

  • <supportedRuntime>タグがアプリケーション構成ファイルに存在しない場合
    • Visual Studio等でビルド時に指定した.Net Frameworkのバージョンがインストールされている場合
      Visual Studio等でビルド時に指定した.Net Frameworkのバージョンが使用される。
    • Visual Studio等でビルド時に指定した.Net Frameworkのバージョンがインストールされていない場合
      現在インストールされている最新の.Net Frameworkのバージョンが使用される。


アプリケーション構成ファイル (.configファイル) が存在しない場合

  • Visual Studio等でビルド時に指定した.Net Frameworkのバージョンがインストールされている場合
    Visual Studio等でビルド時に指定した.Net Frameworkのバージョンが使用される。

  • Visual Studio等でビルド時に指定した.Net Frameworkのバージョンがインストールされていない場合
    現在インストールされている最新の.Net Frameworkのバージョンが使用される。



注意事項

アプリケーション構成ファイルにsku属性を持つ<supportedRuntime>要素が存在する時、
インストールされている.NET Frameworkのバージョンが古い場合は、
アプリケーションの実行は失敗し、代わりにサポートされる.Net Frameworkのバージョンのインストールを求めるメッセージが表示される。

それ以外の場合は、インストールされている任意のバージョンでアプリケーションを実行しようとするが、
そのバージョンと完全に互換性がないと、予期しない動作をする可能性がある。
.NET Frameworkのバージョン間の互換性の違いについては、.NET Frameworkのアプリケーションの互換性を参照すること。