我想知道我使用的是哪个版本的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,您可以右键单击您的项目->属性->构建->高级 这应该列出可用的版本以及您的项目正在使用的版本。
其他回答
要获得框架的版本-查看一个主要程序集的版本。
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
在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对应版本的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"
.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 当前版本,见下文
这里有一个奇怪的技巧,可以快速找到你正在使用的c#版本。编辑项目中的任何。cs文件,并在命名空间语句的末尾添加一个分号:
命名空间Whatever ->命名空间Whatever;
命名空间工作将以红色下划线显示;将鼠标悬停在它上面,它会显示如下内容: “CS8370:文件范围的命名空间在c#7.3中不可用。请使用10.0或更高版本的语言。”
在VS2022上使用。net Framework项目进行测试。如果使用的是。net或。net Core项目,那么这个特性可以很好地工作。