我在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版本)
我实际上使用Visual Studio 2013和Visual Studio 2015来检查结果(不必真的这样做) 谢谢你的帮助。有没有您需要的详细信息,请告诉我。
答案 0 :(得分:1)
我已经解决了这个问题,非常感谢tehjoker。问题出在我的python代码中
太糟了。当我把它拿出来if __name__ == '__main__':
C#可以没有任何错误地调用Ironpython但是当我改变它原来的时候(删除if代码)python无法运行。如果有人能为我描述这一点,我会很完美。总之,为什么if __name__ == '__main__':
不适用于Ironpython而是适用于python。