2011-12-07 10 views
1

現在、私のゲームにこのプロジェクトxna consoleを埋め込みしようとしていますが、IronPythonインタプリタに問題があります。IronPythonをC#でスクリプトに埋め込む問題

問題が持っています次のコード

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に'インポート 'の定義が含まれていません

IronPythonバージョン2.7.1と.net4を使用しています

答えて

1

SetStandardOutputがScriptRuntimeのIOプロパティに移動しました。私はScriptEngineの代わりに信じています。

ClrModuleは静的なクラスなので、AddReferenceを呼び出す必要がある場合は、ClrModule.AddReference(codeContext、...)を使用して呼び出すことができます。コードコンテキストを取得する方法を検索できますが、より良い方法は次のようになります。

動的clr = pyEngine.Import( "clr"); clr.AddReference(...);

関連する問題