Jam*_* Ko 6 .net c# msbuild visual-studio visual-studio-2015
我刚刚下载了几天前发布的 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 '='
Run Code Online (Sandbox Code Playgroud)
很明显,看起来csc
我的PATH中找到的版本不支持C#7.我对此做了一些研究,并为C#6 找到了类似的问题,建议检查以确保调用csc
from %PROGRAMFILES(x86)%\MSBuild\14.0\Bin
而不是旧的一个来自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
Run Code Online (Sandbox Code Playgroud)
正如您所看到的那样,MSBuild\14.0\Bin
目录中的那个被选中,而不是旧的v4.0.30319
.我另外跑了csc /version
,它告诉我版本csc
是1.3.1.60616,它确实只支持C#6.
有没有人知道如何为csc
命令行上的版本启用C#7功能?谢谢!
您必须启动"VS 2017 RC的开发人员命令提示符".然后你可以看到csc.exe的版本号为2.0.
众所周知,对于每个新的VS版本,您应该使用其专用提示符并加载适当的环境变量.
归档时间: |
|
查看次数: |
3809 次 |
最近记录: |