我目前正在尝试将此项目xna console嵌入到我的游戏中,但我遇到了IronPython Interpreter的问题。
我遇到的问题是使用以下代码
this.PythonOutput = new MemoryStream();
ScriptingEngine.pyEngine.SetStandardOutput(PythonOutput); // this line is giving me an error 'Microsoft.Scripting.Hosting.ScriptEngine' does not contain a definition for 'SetStandardOutput' and no extension method 'SetStandardOutput' accepting a first argument of type 'Microsoft.Scripting.Hosting.ScriptEngine' could be found
this.ASCIIEncoder = new ASCIIEncoding();
我遇到的第二个问题是这个代码
ClrModule clr = ScriptingEngine.pyEngine.Import("clr") as ClrModule;
clr.AddReference("Microsoft.Xna.Framework");
clr.AddReference("Microsoft.Xna.Framework.Game");
我遇到ClrModule问题无法声明静态类型的变量'IronPython.Runtime.ClrModule导入也给我错误Microsoft.Scripting.Hosting.ScriptEngine不包含'Import'的定义
使用IronPython版本2.7.1和.net4
答案 0 :(得分:1)
SetStandardOutput已移至ScriptRuntime上的IO属性我相信而不是ScriptEngine。
ClrModule是一个静态类,因此如果需要在其上调用AddReference,可以使用ClrModule.AddReference(codeContext,...)调用它。您可以搜索如何获取代码上下文,但更好的方法可能是:
dynamic clr = pyEngine.Import(“clr”); clr.AddReference(...);