We're experiencing a weird problem at runtime when running code that uses the CSharpScripting classes.
Here a sample code to reproduce the error:
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
try
{
// Creating the script
var compiled = CSharpScript.Create<string>(@"return ""ciao"";");
compiled.Compile();
var runner = compiled.CreateDelegate();
var result = runner().GetAwaiter().GetResult();
Assert.AreEqual("ciao", result);
}
catch (Exception ex)
{
}
}
}
The test does not run, it compiles but throw at runtime
System.MissingMethodException: Method not found: 'System.Collections.Immutable.ImmutableArray1<Microsoft.CodeAnalysis.Diagnostic> Microsoft.CodeAnalysis.Scripting.Script.Compile(System.Threading.CancellationToken)'.`
Any help is appreciated!