Skip to content

Commit 83d8d0f

Browse files
committed
Fix lambda expression cannot be used in the mpu.exe's target source code in Mono.
This commit adds complier options to resolve it.
1 parent 4c5c710 commit 83d8d0f

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/mpu/SerializerTargetCompiler.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,15 @@ ColorizedTextWriter errorWriter
137137
compilerParameters.ReferencedAssemblies.Add( referenceAssembly );
138138
}
139139

140+
if (
141+
!typeof( CodeDomProvider ).Assembly.CodeBase.StartsWith(
142+
Environment.ExpandEnvironmentVariables( "file:///%SystemDrive%/Windows/" ),
143+
StringComparison.OrdinalIgnoreCase ) )
144+
{
145+
// may be mcs, so add C# 3.5 option.
146+
compilerParameters.CompilerOptions = "-langversion=3 -sdk=2";
147+
}
148+
140149
var results =
141150
CodeDomProvider.CreateProvider( "C#" ).CompileAssemblyFromFile(
142151
compilerParameters,

0 commit comments

Comments
 (0)