microsoft.scripting.hosting.scriptscope 不包含 'SomeFunction' 的定义

microsoft.scripting.hosting.scriptscope does not contain a definition for 'SomeFunction'

我在 Ironpython 工作。我想执行 python 代码,它需要一个区域来存储 csv(来自 运行 python),我的代码如下:

using System;
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
using Microsoft.Build.BuildEngine;
using System.Collections.Generic;
using System.Text;

public class dynamic_demo
{
    static void Main()
    {
        var engine = Python.CreateEngine();
        dynamic scope = engine.CreateScope();

        engine.ExecuteFile(@"C:\PathToFile\script.py", scope);

        scope.SomeFunction();
    }
}

这是 Visual Studio 2013

的错误

'Microsoft.Scripting.Hosting.ScriptScope' does not contain a definition for 'SomeFunction'

我的参考资料是(对于 2013 和 2015 版本)

我实际上同时使用 Visual Studio 2013 和 Visual Studio 2015 来检查结果(实际上不必这样做) 谢谢你的帮助。有什么需要的可以告诉我

我已经解决了,非常感谢tehjoker。问题出在我的 python 代码上 太糟了。当我把它拿出来时 if __name__ == '__main__': C# 可以调用 Ironpython 而不会出现任何错误,但是当我在原来的位置更改它时(删除 if 代码)python 不能 运行。如果有人能为我描述这一点,我将是完美的。总之,为什么 if __name__ == '__main__': 不适用于 Ironpython 但适用于 python。