如何让csc.exe知道C#6

时间:2016-04-20 08:10:24

标签: c# roslyn c#-6.0 csc

我正在使用以下方法编译基本的控制台应用程序:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\csc.exe /t:exe /out:myapp.exe Program.cs

首先打印:

Microsoft (R) Visual C# Compiler version 4.6.1038.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

然后失败,因为我正在使用像$"{x}"这样的字符串插值。错误是:

error CS1056: Unexpected character '$'

我认为这是因为csc.exe无法理解C# 6。如何让这个编译器C# 6知道?

2 个答案:

答案 0 :(得分:5)

您使用的是旧版本的编译器。从this MSDN forum post开始,C#编译器不再是.NET Framework的一部分。你必须自己下载。

你可以从这个NuGet声明中做到这一点:

nuget install Microsoft.Net.Compilers

答案 1 :(得分:0)

我在这里遇到同样的问题;

我使用了Visual Studio 2019安装文件夹中的Roslyn编译器修复了问题,并为其设置了csc的环境变量。

已更改

C:\Windows\Microsoft.NET\Framework64\v4.0.30319

收件人

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Roslyn

在系统环境变量中工作过??