IronPython抛出动态操作只能在同源AppDomain中执行

时间:2017-06-14 06:25:27

标签: c# .net ironpython

我正在测试从我的C#DLL调用IronPython但是我从Dynamic operations can only be performed in homogenous AppDomain.开始关注异常var pythonResult = engine.Execute(theScript, scope);。我在testFunc中添加了一个汇总元素的循环后出现此问题。当我删除一个汇总元素的循环时,此方法可以正常工作。

我搜索了这个AppDomain的东西,但我发现只有与ASP.NET开发有关的东西,它与我的案例无关。

            var theScript =
@"import sys
def testFunc():
    print list

    sum = 0;
    for i in list:
        sum += i

    return 3

testFunc()";

            var engine = Python.CreateEngine();
            var scope = engine.CreateScope();

            List<int> list = new List<int>();
            list.Add(2);
            list.Add(3);
            list.Add(7);
            scope.SetVariable("list", list);

            var pythonResult = engine.Execute(theScript, scope);

此问题阻碍了我进一步发展。有什么想法吗?

0 个答案:

没有答案