Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make csc.exe C# 6 aware

I am compiling a basic console app using :

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

Which first prints :

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

Then fails because I am using string interpolation like $"{x}". The error is:

error CS1056: Unexpected character '$'

I assume this is because the csc.exe does not understand C# 6. How do I make this compiler C# 6 aware?

like image 604
sprocket12 Avatar asked Apr 20 '16 08:04

sprocket12


1 Answers

You are using an old version of the compiler. From this MSDN forum post, the C# compiler is no longer part of the .NET Framework. You have to download it yourself.

You can do that from this NuGet statement:

nuget install Microsoft.Net.Compilers
like image 86
Patrick Hofman Avatar answered Oct 05 '22 09:10

Patrick Hofman