C#的正确版本号是什么?什么时候出来的?为什么我找不到有关C#3.5的任何答案?
这个问题主要是为了帮助那些使用错误版本号(例如C#3.5)搜索答案的人。希望任何没有找到错误版本号答案的人都能找到这个问题,然后用正确的版本号再次搜索。
C#的正确版本号是什么?什么时候出来的?为什么我找不到有关C#3.5的任何答案?
这个问题主要是为了帮助那些使用错误版本号(例如C#3.5)搜索答案的人。希望任何没有找到错误版本号答案的人都能找到这个问题,然后用正确的版本号再次搜索。
当前回答
Version | Language specification | Microsoft compiler |
---|---|---|
C# 1.0/1.2 | December 2001?/2003? | January 2002? |
C# 2.0 | September 2005 | November 2005? |
C# 3.0 | May 2006 | November 2006? |
C# 4.0 | March 2009 (draft) | April 2010? |
C# 5.0 | Released with .NET 4.5 in August 2012 | |
C# 6.0 | Released with .NET 4.6 2015 | |
C# 7.0 | Released with .NET 4.7 2017 | |
C# 8.0 | Released with .NET 4.8 2019 |
其他回答
比较MSDN文章“C#2.0语言和编译器中的新增功能”和“Visual C#2005中的新增”,可以推断出“C#major_version.minor_version”是根据编译器的版本编号创建的。
有与.NET 1.1和VS 2003相对应的C#1.2,也称为Visual C#.NET 2003。
但在进一步的研究中,微软停止了增加次要版本(在点之后)的数字,或者让它们不是零,0。尽管应该注意,与.NET 3.5对应的C#在msdn.microsoft.com中被命名为“Visual C#2008 Service Pack 1”。
有两种并行命名:按.NET/编译器主要版本编号和Visual Studio编号。
C#2.0是Visual C#2005的同义词
C#3.0对应(或者更准确地说,可以针对):
.NET 2.0<==>Visual C#2005.NET 3.0<==>Visual C#2008.NET 3.5<==>Visual C#2008 Service Pack 1
Version | Language specification | Microsoft compiler |
---|---|---|
C# 1.0/1.2 | December 2001?/2003? | January 2002? |
C# 2.0 | September 2005 | November 2005? |
C# 3.0 | May 2006 | November 2006? |
C# 4.0 | March 2009 (draft) | April 2010? |
C# 5.0 | Released with .NET 4.5 in August 2012 | |
C# 6.0 | Released with .NET 4.6 2015 | |
C# 7.0 | Released with .NET 4.7 2017 | |
C# 8.0 | Released with .NET 4.8 2019 |
处理C#版本号时最大的问题是,它没有绑定到.NET Framework版本,这似乎是由于Visual Studio和.NET Framework之间的同步发布。
C#的版本实际上绑定到编译器,而不是框架。例如,在Visual Studio 2008中,您可以编写C#3.0,并以.NET Framework 2.0、3.0和3.5为目标。C#3.0命名法描述代码语法和支持功能的版本,与ANSI C89、C90和C99描述C的代码语法和功能的方式相同。
看看Mono,你会发现Mono 2.0(大部分是从ECMA规范中实现的.NET Framework 2.0版本)支持C#3.0语法和特性。
Visual Studio.NET中的C#1.0Visual Studio 2005中的C#2.0Visual Studio 2008中的C#3.0Visual Studio 2010中的C#4.0C#5.0与Visual Studio 2012Visual Studio 2015中的C#6.0C#7.0与Visual Studio 2017C#8.0与Visual Studio 2019C#9.0与Visual Studio 2019
我总结了本表中的大多数版本。唯一缺少的应该是ASP.NET核心版本。我还添加了不同版本的ASP.NET MVC。
请注意,ASP.NET 5已更名为ASP.NET Core 1.0,ASP.NET MVC 6已更名为ASP.NETCore MVC 1.0.0。我相信这一变化发生在2016年1月左右。
我已经在表中列出了ASP.NET 5 RC1的发布日期,但我还没有包括ASP.NET核心1.0和其他核心版本,因为我找不到确切的发布日期。您可以在此处阅读有关ASP.NET Core的发布日期的更多信息:ASP.NET Core 1.0(ASP.NET 5/vNext)计划于何时发布?