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

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
6行目: 6行目:
アプリケーションを実行する必要のある共通言語ランタイム(以下、CLRとする)のバージョンを指定する。<br>
アプリケーションを実行する必要のある共通言語ランタイム(以下、CLRとする)のバージョンを指定する。<br>
<center>
<center>
{| class="wikitable"
{| class="wikitable" | style="background-color:#fefefe;"
|-
|-
! 要素 !! 説明
! style="background-color:#66CCFF;" | 要素  
! style="background-color:#66CCFF;" | 説明
|-
|-
| <requiredRuntime> || .Net Framework1.0の共通言語ランタイムのみがアプリケーションでサポートされることを指定する。<br>.Net Framework1.1でビルドされたアプリケーションは、<supportedRuntime>要素を使用する。
| <requiredRuntime> || .Net Framework1.0の共通言語ランタイムのみがアプリケーションでサポートされることを指定する。<br>.Net Framework1.1でビルドされたアプリケーションは、<supportedRuntime>要素を使用する。
48行目: 49行目:
次の表に、version属性の有効な値を記載する。<br>
次の表に、version属性の有効な値を記載する。<br>
<center>
<center>
{| class="wikitable"
{| class="wikitable" | style="background-color:#fefefe;"
|-
|-
! .NET Frameworkのバージョン !! version属性
! style="background-color:#66CCFF;" | .NET Frameworkのバージョン  
! style="background-color:#66CCFF;" | version属性
|-
|-
| 1.0 || "v1.0.3705"
| 1.0 || "v1.0.3705"
84行目: 86行目:
下表に、sku属性でサポートされている有効な値を記載する。<br>
下表に、sku属性でサポートされている有効な値を記載する。<br>
<center>
<center>
{| class="wikitable"
{| class="wikitable" | style="background-color:#fefefe;"
|-
|-
! .NET Frameworkのバージョン !! sku属性
! style="background-color:#66CCFF;" | .NET Frameworkのバージョン  
! style="background-color:#66CCFF;" | sku属性
|-
|-
| 4.0 || ".NETFramework,Version=v4.0"
| 4.0 || ".NETFramework,Version=v4.0"
151行目: 154行目:


== <TargetFrameworks>要素 ==
== <TargetFrameworks>要素 ==
<code><TargetFrameworks></code>要素は、.NET Core以降のアプリケーションに必要なCLRのバージョンを指定する。<br>
プロジェクトファイル (.csproj) 内の<code><TargetFrameworks></code>要素において、.NET Core以降のアプリケーションに必要なCLRのバージョンを指定する。<br>
<br>
<br>
下表に、<TargetFrameworks>要素の有効な値を示す。<br>
下表に、<TargetFrameworks>要素の有効な値を示す。<br>
214行目: 217行目:
.NET Frameworkのバージョン間の互換性の違いについては、.NET Frameworkの[https://docs.microsoft.com/dotnet/framework/migration-guide/application-compatibility アプリケーションの互換性]を参照すること。<br>
.NET Frameworkのバージョン間の互換性の違いについては、.NET Frameworkの[https://docs.microsoft.com/dotnet/framework/migration-guide/application-compatibility アプリケーションの互換性]を参照すること。<br>
<br><br>
<br><br>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:C_Sharp]]
[[カテゴリ:C_Sharp]]

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

概要

アプリケーション構成ファイルは、アプリケーション固有の設定が記述された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>要素

プロジェクトファイル (.csproj) 内の<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のアプリケーションの互換性を参照すること。