我刚刚下载的Visual Studio 2017年RC,这是released a few days ago并附带了C#7,我可以使用C#从IDE 7.0功能的支持:
然而,这种行为似乎并不持有命令行。我正在开发一个需要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 '='
所以很明显,它看起来像版本的csc我的路径中发现不支持C#7,我做了一个在这个小小的研究,发现了一个similar question为C#6,这表明检查,以确保您调用从%PROGRAMFILES(x86)%\MSBuild\14.0\Bin代替旧的C:\Windows\Microsoft.NET\Framework\4.0.30319的csc,因为后者只支持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特点为csc在命令行版本?谢谢!