安装VS 2017后,为什么命令行csc不能编译C#7?

我刚刚下载的Visual Studio 2017年RC,这是released a few days ago并附带了C#7,我可以使用C#从IDE 7.0功能的支持:安装VS 2017后,为什么命令行csc不能编译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 '='

所以很明显,它看起来像版本的csc我的路径中发现不支持C#7,我做了一个在这个小小的研究,发现了一个similar question为C#6,这表明检查,以确保您调用从%PROGRAMFILES(x86)%\MSBuild\14.0\Bin代替旧的C:\Windows\Microsoft.NET\Framework\4.0.30319csc,因为后者只支持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在命令行版本?谢谢!

回答:

您必须启动“VS 2012 RC开发者命令提示符”。然后你可以看到csc.exe的版本号为2.0。

众所周知,对于每个新的VS版本,您都应该使用其专用的提示符,并加载适当的环境变量。

回答:

您可以从visual studio 2017命令提示符处运行“where csc.exe”,并通过将其添加到Path系统变量中来导出所需的csc版本。 我在哪里我需要通过命令行编译一个类似情况下,我结束了在系统路径设置

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Roslyn\ 

以上是 安装VS 2017后,为什么命令行csc不能编译C#7? 的全部内容, 来源链接: utcz.com/qa/259498.html

回到顶部