Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Roslyn的脚本API中使用扩展方法会引发异常_C#_Dynamic_Roslyn - Fatal编程技术网

C# 在Roslyn的脚本API中使用扩展方法会引发异常

C# 在Roslyn的脚本API中使用扩展方法会引发异常,c#,dynamic,roslyn,C#,Dynamic,Roslyn,我正在努力做到以下几点: ScriptOptions optins = ScriptOptions.Default .AddReferences(typeof(HelperExtensionMethods).Assembly,...); var globals = new ParamsVM { X = var1, Y = var2 }; var task = CSharpScript.EvaluateAsync( "X.MyExtensionMethod() == Y.An

我正在努力做到以下几点:

ScriptOptions optins = ScriptOptions.Default
     .AddReferences(typeof(HelperExtensionMethods).Assembly,...);

var globals = new ParamsVM { X = var1, Y = var2 };

var task = CSharpScript.EvaluateAsync(
    "X.MyExtensionMethod() == Y.AnotherExtensionMethod()",
    optins,
    globals
    );

task.Wait();
var res = task.Result;

让我们考虑<代码> x>代码> <代码> y>代码>类型<代码> T1… 其中

HelperExtensionMethods
定义如下:

public static class HelperExtensionMethods
{
   public static string MyExtensionMethod(this T1 src) { ... }
   public static string AnotherExtensionMethod(this object src) { ... }
}
evaluateSync
抛出一个异常,该异常表示:

错误CS1061:“T1”不包含“MyExtensionMethod”的定义,并且找不到接受类型为“T1”的第一个参数的扩展方法“MyExtensionMethod”(是否缺少using指令或程序集引用?)

将class
HelperExtensionMethods
添加到
选项中的正确方法是什么?我尝试了导入
AddImports
,但运气不佳

由于存在一些限制,我还从
DynamicExpresso
库转到了
Roslyn