我想知道我使用的是哪个版本的c#。 如果我要使用python,我会从命令行执行类似python -V的操作,或者键入:
import sys
print sys.version
在PHP中,我会这样做:phpinfo();java中:java -version
但是我不知道如何在c#中实现这一点。
这个问题并没有回答这个问题,尽管它的名字表明它应该回答这个问题。
我知道这取决于。net框架,但是否有一种编程方式来确定我的框架?我的意思是不需要进入目录并检查。net文件夹的名称。
我想知道我使用的是哪个版本的c#。 如果我要使用python,我会从命令行执行类似python -V的操作,或者键入:
import sys
print sys.version
在PHP中,我会这样做:phpinfo();java中:java -version
但是我不知道如何在c#中实现这一点。
这个问题并没有回答这个问题,尽管它的名字表明它应该回答这个问题。
我知道这取决于。net框架,但是否有一种编程方式来确定我的框架?我的意思是不需要进入目录并检查。net文件夹的名称。
当前回答
这取决于你使用的。net框架。请看Jon Skeet关于版本的回答。
以下是他的回答的简短版本。
c# 1.0与。net 1.0一起发布 c# 1.2(很奇怪);发布 .NET 1.1 c# 2.0随。net 2.0发布 c# 3.0与。net 3.5一起发布 c# 4.0随。net 4发布 c# 5.0与。net 4.5一起发布 c# 6.0与。net 4.6一起发布 c# 7.0与。net 4.6.2一起发布 c# 7.3与。net 4.7.2一起发布 c# 8.0随NET Core 3.0发布 c# 9.0与NET 5.0一起发布 c# 10.0与NET 6.0一起发布 c# 11.0随NET 7.0发布
其他回答
为了查看已安装的vc#编译器版本:
打开Visual Studio命令提示符,输入csc,然后按Enter。
你会看到如下内容:
微软(R) Visual c#编译器4.0.30319.34209 用于Microsoft (R) .NET Framework 4.5 微软公司版权所有。版权所有。
附注:“CSC”代表“C夏普编译器”。实际上,使用此命令您可以运行csc.exe,这是一个可执行文件,位于“c:\Windows\Microsoft.NET\Framework\vX.X.XXX”。有关CSC的更多信息,请访问http://www.file.net/process/csc.exe.html
目前的答案已经过时了。您应该能够使用#error version(在项目中任何c#文件的顶部,或几乎在代码的任何地方)。编译器以一种特殊的方式处理这个错误,并报告一个编译器错误CS8304,表示语言版本,也表示编译器版本。CS8304的消息如下所示:
编译器版本:'3.7.0-3.20312.3 (ec484126)'。语言版本:6。
.NET版本通过注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\探索子程序并查看每个版本。键为'Full'的是系统上的版本。
https://support.microsoft.com/en-us/kb/318785 https://msdn.microsoft.com/en-us/library/hh925568 (v = vs.110) . aspx
.NET版本通过Visual Studio
Help ->关于Microsoft Visual Studio -> . net版本在右上角指定。
据我所知,Visual studio在操作系统中使用。net框架。
Visual Studio中项目的目标.NET框架版本可以通过项目属性->应用程序->目标框架来修改
通过dll
如果你知道。net Framework目录 例如C:\Windows\ Microsoft.NET \ Framework64 \ v4.0.30319
打开System.dll,右键单击->属性->详细信息选项卡
c#版本
帮助->关于Microsoft Visual Studio
在已安装的产品列表中有Visual c#。在我的案例中是Visual c# 2015
Visual Studio(微软)将c#命名为Visual c#。
https://msdn.microsoft.com/en-us/library/hh156499.aspx
c# 6, Visual Studio .NET 2015 当前版本,见下文
默认情况下,以下是Visual Studio对应版本的c#编译器:
Visual Studio 2015: c# 6.0 Visual Studio 2013: c# 5.0 Visual Studio 2012: c# 5.0 Visual Studio 2010: c# 4.0 Visual Studio 2008: c# 3.0 Visual Studio 2005: c# 2.0 Visual Studio。Net 2003: c# 1.2 Visual Studio。Net 2002: c# 1.0
您也可以修改版本,请按照以下步骤。
打开项目属性窗口:
step 1. Right click on the Project Name
step 2. Select "Properties" (last option in menu)
step 3. Select "Build" from left hand side options and scroll till down
step 4. click on "Advance" button.
step 5. It will open a popup and there you will get "Language Version" dropdown
step 6. Select desired version of C# and Click "OK"
这里有一个奇怪的技巧,可以快速找到你正在使用的c#版本。编辑项目中的任何。cs文件,并在命名空间语句的末尾添加一个分号:
命名空间Whatever ->命名空间Whatever;
命名空间工作将以红色下划线显示;将鼠标悬停在它上面,它会显示如下内容: “CS8370:文件范围的命名空间在c#7.3中不可用。请使用10.0或更高版本的语言。”
在VS2022上使用。net Framework项目进行测试。如果使用的是。net或。net Core项目,那么这个特性可以很好地工作。