C Sharpその他 - C SharpとVisual Studio

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

IDEと共通言語ライブラリ、言語仕様の関係について理解する必要がある。

ここでは、各バージョンの関係を記載する。


Visual StudioとC#の関係

Visual StudioとC#の関係を下表に示す。
もし、C#のバージョンを指定する場合は、[プロジェクト設定] - [ビルド] - [詳細設定]より言語バージョンを指定することが出来る。
また、Visual Studioでは、C#のバージョンは標準設定だとdefaultとなっており、例えば、Visual Studio 2017だとC# 7.0が使用される。
C# 7.1やC# 7.2はマイナーバージョンなので、使用する場合はC#のバージョンをlatestまたはバージョン指定を行う必要がある。

Visual Studioのバージョン C#のバージョン
Visual Studio 2013 5.0
Visual Studio 2015 6.0 (.NET Framework)
6.0 (.NET Core 1.x)
Visual Studio 2017 7.0 (.NET Framework)
Visual Studio 2017 15.5 7.1 (.NET Framework)
7.1 (.NET Core 2.0)
Visual Studio 2017 15.8 7.2 (.NET Framework)
7.2 (.NET Core 2.1)
Visual Studio 2017 15.9 7.3 (.NET Framework)
7.3 (.NET Core 2.2)
Visual Studio 2019 7.3 (.NET Framework)
8.0 (.NET Core 3.x)
Visual Studio 2019 16.8 9.0 (.NET 5.0)
Visual Studio 2022 17.0 10.0 (.NET 6.0)
Visual Studio 2022 17.4 11.0 (.NET 7.0)



Visual Studioと.NET Frameworkの関係

Visual Stuioのバージョンによって対応出来る.NET Frameworkの最大バージョンが決まる。
古い.NET Frameworkをターゲットバージョンとする場合は、[プロジェクト設定] - [アプリケーション] - [ターゲット フレームワーク]より変更出来る。
また、ターゲットバージョンは別途SDKをダウンロードしてインストールする必要がある。

Visual Studioバージョン .NET Frameworkバージョン
Visual Studio 2013 4.5
Visual Studio 2015 4.6
Visual Studio 2017 4.7



Visual Studioのサポート期間

製品名 サポート終了日
Visual Studio 2010 Service Pack 1 2020/07/14 (サポート終了済)
Visual Studio 2012 Update 5 2023/01/10 (サポート終了済)
Visual Studio 2013 Update 5 2024/04/09 (サポート終了済)
Visual Studio 2015 Update 3 2025/10/14
Visual Studio 2017 Version 15.9 2027/04/13
Visual Studio 2019 Version 16.4 2029/04/10
Visual Studio 2022 2031/11/08
VS Code モダンライフサイクルポリシーに従う



.NET / .NET Frameworkのサポート期間

.NET5のリリースにより、.NET Frameworkは4.8が最終となる。

製品名 サポート終了日
.NET Framework 3.5 SP1 2029/01/09
.NET Framework 4.5.2 (サポート終了済)
OSのライフサイクルが適用
(Windows 8.1 / 2012 / 2012 R2と同じ)
Windows 8.1では、2023/01/10
Windows Server 2012 R2では、2023/10/10
.NET Framework 4.6 (サポート終了済)
OSのライフサイクルが適用
(Windows 8.1 / 2012 / 2012 R2と同じ)
Windows 8.1では、2023/01/10
Windows Server 2012 R2では、2023/10/10
.NET Framework 4.6.1 (サポート終了済)
OSのライフサイクルが適用
(Windows 8.1 / 2012 / 2012 R2と同じ)
Windows 8.1では、2023/01/10
Windows Server 2012 R2では、2023/10/10
.NET Framework 4.6.2 (サポート終了済)
OSのライフサイクルが適用
(Windows 8.1 / 2012 / 2012 R2と同じ)
Windows 8.1では、2023/01/10
Windows Server 2012 R2では、2023/10/10
.NET Framework 4.7 OSのライフサイクルが適用
(Windows 8.1 / 2012 / 2012 R2 / 2016と同じ)
Windows 8.1では、2023/01/10
Windows Server 2016では、2027/01/12
.NET Framework 4.7.1 OSのライフサイクルが適用
(Windows 8.1 / 2012 / 2012 R2 / 2016と同じ)
Windows 8.1では、2023/01/10
Windows Server 2016では、2027/01/12
.NET Framework 4.7.2 OSのライフサイクルが適用
(Windows 8.1 / 2012 / 2012 R2 / 2016 / 2019と同じ)
Windows 8.1では、2023/01/10
Windows Server 2019では、2029/01/09
.NET Framework 4.8 OSのライフサイクルが適用
(Windows 8.1 / 10 / 2012 / 2012 R2 / 2016 / 2019と同じ)
Windows 8.1では、2023/01/10

Windows 10では、2025/10/14
(Windows 10は、.NET Framework 4.8以降のみインストールできる)

Windows Server 2019では、2029/01/09
.NET Core 3.1 2022/12/13 (LTS) (サポート終了済)
.NET 5 2022/5/10 (サポート終了済)
.NET 6 2024/11/12 (LTS) (サポート終了済)
.NET 7 2024/5/14 (サポート終了済)
.NET 8 2026/11/10
.NET 9 2026/5/12


詳細は、Microsoft公式Webサイトの各バージョンとサポートOSを参照すること。


.NETおよび.NET Frameworkのバージョンの取得

C#.NET等のソフトウェアから、.NETおよび.NET Frameworkのバージョンを取得する。

 using System.Runtime.InteropServices;
 
 public static string FrameworkDescription { get; }


型:
String

説明:
ソフトウェアが実行されている.NETおよび.NET Frameworkのインストール名を取得する。


プロパティFrameworkDescriptionには、現在、実行中の.NET実装名を示す文字列を返す。
この文字列は、以下に示すいずれかの説明で始まり、次に、バージョンが続く。

  • ".NET" (.NET 5 以降のバージョンの場合)
  • ".NET Core" (.NET Core 1.0 - 3.1 の場合)
  • ".NET Framework"
  • ".NET Standard"


# 出力例

.NET Framework 4.8.4250.0
.NET Core 3.1.9
.NET 5.0.0


適用対象
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1
5, 6, 7
.NET Framework 4.7.1, 4.7.2, 4.8
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
Xamarin.iOS 10.8
Xamarin.Mac 3.0