我刚刚下载了Visual Studio 2017 RC,这是几天前发布的版本,支持C# 7。我可以从IDE中使用C# 7功能:
csc
可执行文件处理C# 7及更高版本的项目。但是,当我尝试切换到与该项目相同的目录并编译文件时,我遇到了问题。> csc Program.cs /target:exe
Microsoft (R) Visual C# Compiler version 1.3.1.60616
Copyright (C) Microsoft Corporation. All rights reserved.
Program.cs(12,23): error CS1026: ) expected
Program.cs(12,25): error CS1001: Identifier expected
Program.cs(12,25): error CS1002: ; expected
Program.cs(12,26): error CS1002: ; expected
Program.cs(12,26): error CS1513: } expected
Program.cs(13,32): error CS1003: Syntax error, '=>' expected
Program.cs(13,32): error CS1525: Invalid expression term '='
显然,我的PATH中找到的csc
版本不支持C# 7。我查了一下资料,发现有一个关于C# 6的类似问题,建议检查是否从%PROGRAMFILES(x86)%\MSBuild\14.0\Bin
调用csc
而非旧版的C:\Windows\Microsoft.NET\Framework\4.0.30319
,因为后者只支持C# 5。所以我就这么做了:
> where csc
C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
如您所见,
MSBuild\14.0\Bin
目录下的版本被选中,而不是旧版本 v4.0.30319
。此外,我还运行了 csc /version
命令,告诉我 csc
版本为 1.3.1.60616,只支持 C# 6。
请问有谁知道如何在命令行上启用 C# 7 功能?谢谢!