我想知道我使用的是哪个版本的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文件夹的名称。
当前回答
在Visual Studio中,当构建详细度设置为“normal”或更高(默认值为“minimal”)时,通过查看构建输出来查看c#语言版本。
将构建输出的详细信息调整为“正常”、“详细”或“诊断”。(另外两个值“Quiet”和“Minimal”不显示语言版本。)要设置构建输出的详细信息,选择菜单Tools | Options…然后在“选项”对话框中,选择“项目和解决方案”|“构建和运行”。寻找标签“MSBuild项目输出冗长”。设置为上面给出的三个值之一。
构建(如果您的构建是最新的,则通过菜单选择Build | Rebuild强制进行构建。) 打开输出窗口 菜单选择查看|输出。 在输出窗口中,为标签为“Show output from”的项目设置“Build”: 搜索“langversion”。在一个非常非常长的行(我的机器上现在有1578个字符)中间,寻找像这样的开关:/langversion:9.0
(要在输出窗口中搜索,在输出窗口中单击,然后使用键盘快捷键Ctrl+F调用搜索窗格。)
其他回答
在Visual Studio中,当构建详细度设置为“normal”或更高(默认值为“minimal”)时,通过查看构建输出来查看c#语言版本。
将构建输出的详细信息调整为“正常”、“详细”或“诊断”。(另外两个值“Quiet”和“Minimal”不显示语言版本。)要设置构建输出的详细信息,选择菜单Tools | Options…然后在“选项”对话框中,选择“项目和解决方案”|“构建和运行”。寻找标签“MSBuild项目输出冗长”。设置为上面给出的三个值之一。
构建(如果您的构建是最新的,则通过菜单选择Build | Rebuild强制进行构建。) 打开输出窗口 菜单选择查看|输出。 在输出窗口中,为标签为“Show output from”的项目设置“Build”: 搜索“langversion”。在一个非常非常长的行(我的机器上现在有1578个字符)中间,寻找像这样的开关:/langversion:9.0
(要在输出窗口中搜索,在输出窗口中单击,然后使用键盘快捷键Ctrl+F调用搜索窗格。)
为了查看已安装的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
.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 当前版本,见下文
要获得框架的版本-查看一个主要程序集的版本。
Console.Write(typeof(string).Assembly.ImageRuntimeVersion);
获取c#编译器的版本有点困难,但你应该能够通过检查使用的框架版本来猜测版本。
如果你正在使用命令行编译器(csc.exe),你可以检查帮助查看版本(同时你也需要知道框架版本:
C:\Windows\Microsoft.NET\Framework\v4.0.30319>csc /?
Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1
目前的答案已经过时了。您应该能够使用#error version(在项目中任何c#文件的顶部,或几乎在代码的任何地方)。编译器以一种特殊的方式处理这个错误,并报告一个编译器错误CS8304,表示语言版本,也表示编译器版本。CS8304的消息如下所示:
编译器版本:'3.7.0-3.20312.3 (ec484126)'。语言版本:6。