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

时间:2016-07-05 11:08:49

标签: c# python visual-studio-2013 visual-studio-2015 ironpython

我在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'不包含' SomeFunction'

的定义

我的参考文献是(对于2013和2015版本)

My References

我实际上使用Visual Studio 2013和Visual Studio 2015来检查结果(不必真的这样做) 谢谢你的帮助。有没有您需要的详细信息,请告诉我。

This is an error for my Visual Studio 2015

1 个答案:

答案 0 :(得分:1)

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