安装 VS 2015 后,从命令行运行 csc.exe 会导致控制台显示此消息:
此编译器作为 Microsoft (R) .NET Framework 的一部分提供, 但仅支持 C# 5 之前的语言版本,这不再是 最新版本。对于支持较新版本的 C# 的编译器 编程语言,参见 http://go.microsoft.com/fwlink/?LinkID=533240
该链接重定向到 Roslyn 在 GitHub 上的存储库。
那么,有一种从命令行运行“支持新版本的编译器”(Roslyn)的方法吗?
听起来你的道路基本上不合适。如果您打开“VS2015 的开发人员命令提示符”,您应该在路径的早期就有
$ProgramFiles(x86)$\MSBuild\14.0\bin
- 那里的 csc.exe
是 Roslyn。
我怀疑您正在运行
c:\Windows\Microsoft.NET\Framework\4.0.30319
或类似版本 - 这基本上是遗留版本。
来自命令行('cmd')的 Roslyn,Windows 10 场景示例:
(注:无需安装Visual Studio,只需安装.NET core)
打开“cmd”并创建文件夹“dotnet-csharp-tools”:
D:>mkdir“dotnet-csharp-tools”
导航到文件夹“dotnet-csharp-tools”:
D:>cd“dotnet-csharp-tools”
在文件夹“dotnet-csharp-tools”中下载“nuget.exe”最新版本:
从以下位置检查“Microsoft.CodeDom.Providers.DotNetCompilerPlatform”最新版本的名称:
https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/
例如:“Microsoft.CodeDom.Providers.DotNetCompilerPlatform -版本 3.6.0”
从“cmd”(打开的文件夹“dotnet-csharp-tools”),运行命令:
D:\dotnet-csharp-tools>nuget 安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform -版本 3.6.0
从“cmd”导航到“D:\dotnet-csharp-tools\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0 ools\Roslyn472”(警告:文件夹名称“Roslyn472”可能不同,如果是其他版本)
D:\dotnet-csharp-tools>cd Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0 ools\Roslyn472
从“文件资源管理器”中找到“csc.exe”(在当前文件夹“Roslyn472”中)。 使用名称“csc-roslyn.exe”复制“csc.exe”(名称可以是任何名称)。
对于“Windows 10”,打开:
“编辑系统环境变量”->“系统变量”-> “路径”->“编辑”->“新建”-> D:\dotnet-csharp-tools\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0 ools\Roslyn472
关闭并再次打开“cmd”(命令提示符)。 需要重新启动“cmd”,因为“系统环境变量”已编辑。
通过运行命令检查“csc-roslyn”是否被“cmd”识别:
csc-罗斯林
创建文件夹“D”