如何从命令行运行 Roslyn 而不是 csc.exe?

问题描述 投票:0回答:2

安装 VS 2015 后,从命令行运行 csc.exe 会导致控制台显示此消息:

此编译器作为 Microsoft (R) .NET Framework 的一部分提供, 但仅支持 C# 5 之前的语言版本,这不再是 最新版本。对于支持较新版本的 C# 的编译器 编程语言,参见 http://go.microsoft.com/fwlink/?LinkID=533240

该链接重定向到 Roslyn 在 GitHub 上的存储库。
那么,有一种从命令行运行“支持新版本的编译器”(Roslyn)的方法吗?

c# visual-studio-2015 roslyn .net-4.6
2个回答
32
投票

听起来你的道路基本上不合适。如果您打开“VS2015 的开发人员命令提示符”,您应该在路径的早期就有

$ProgramFiles(x86)$\MSBuild\14.0\bin
- 那里的
csc.exe
Roslyn。

我怀疑您正在运行

c:\Windows\Microsoft.NET\Framework\4.0.30319
或类似版本 - 这基本上是遗留版本。


5
投票

来自命令行('cmd')的 Roslyn,Windows 10 场景示例:
(注:无需安装Visual Studio,只需安装.NET core)

  1. 打开“cmd”并创建文件夹“dotnet-csharp-tools”:

    D:>mkdir“dotnet-csharp-tools”

  2. 导航到文件夹“dotnet-csharp-tools”:

    D:>cd“dotnet-csharp-tools”

  3. 在文件夹“dotnet-csharp-tools”中下载“nuget.exe”最新版本:

    https://www.nuget.org/downloads

  4. 从以下位置检查“Microsoft.CodeDom.Providers.DotNetCompilerPlatform”最新版本的名称:

    https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/

    例如:“Microsoft.CodeDom.Providers.DotNetCompilerPlatform -版本 3.6.0”

  5. 从“cmd”(打开的文件夹“dotnet-csharp-tools”),运行命令:

    D:\dotnet-csharp-tools>nuget 安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform -版本 3.6.0

  6. 从“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

  7. 从“文件资源管理器”中找到“csc.exe”(在当前文件夹“Roslyn472”中)。 使用名称“csc-roslyn.exe”复制“csc.exe”(名称可以是任何名称)。

  8. 对于“Windows 10”,打开:

    “编辑系统环境变量”->“系统变量”-> “路径”->“编辑”->“新建”-> D:\dotnet-csharp-tools\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0 ools\Roslyn472

  9. 关闭并再次打开“cmd”(命令提示符)。 需要重新启动“cmd”,因为“系统环境变量”已编辑。

  10. 通过运行命令检查“csc-roslyn”是否被“cmd”识别:

    csc-罗斯林

  11. 创建文件夹“D”

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.