From f1f1db0d8ef68ec4b34fe58d79204ffd2b99cae0 Mon Sep 17 00:00:00 2001 From: David Fowler Date: Fri, 6 Nov 2015 05:53:16 -0800 Subject: [PATCH] Support language version based on schema --- src/Microsoft.DotNet.Tools.Compiler.Csc/Program.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.DotNet.Tools.Compiler.Csc/Program.cs b/src/Microsoft.DotNet.Tools.Compiler.Csc/Program.cs index e1336db75..d748c11f8 100644 --- a/src/Microsoft.DotNet.Tools.Compiler.Csc/Program.cs +++ b/src/Microsoft.DotNet.Tools.Compiler.Csc/Program.cs @@ -114,7 +114,7 @@ namespace Microsoft.DotNet.Tools.Compiler.Csc if (options.LanguageVersion != null) { - commonArgs.Add($"-langversion:{options.LanguageVersion}"); + commonArgs.Add($"-langversion:{GetLanguageVersion(options.LanguageVersion)}"); } if (options.Platform != null) @@ -159,6 +159,17 @@ namespace Microsoft.DotNet.Tools.Compiler.Csc return commonArgs; } + private static string GetLanguageVersion(string languageVersion) + { + // project.json supports the enum that the roslyn APIs expose + if (languageVersion?.StartsWith("csharp", StringComparison.OrdinalIgnoreCase) == true) + { + // We'll be left with the number csharp6 = 6 + return languageVersion.Substring("csharp".Length); + } + return languageVersion; + } + private static Command RunCsc(string cscArgs) { // Locate CoreRun