Вызов объекта IronPython из C # с моно
У меня есть следующий код IronPython.
class Hello:
def __init__(self):
pass
def add(self, x, y):
return (x+y)
Мне нужно вызвать это из C #, и я придумал следующий код.
using System;
using IronPython.Hosting;
using IronPython.Runtime;
using IronPython;
using Microsoft.Scripting.Hosting;
using Microsoft.Scripting;
class Hello {
public static void Main()
{
ScriptEngine engine = Python.CreateEngine();
ScriptSource script = engine.CreateScriptFromSourceFile("myPythonScript.py");
ScriptScope scope = engine.CreateScope();
script.Execute(scope);
}
}
После копирования IronPython.dll я запускаю следующую команду. (Я пытался запустить gacutil, но я получил некоторыеошибки.
dmcs /r:IronPython.dll callipy.cs
Но я получил несколько сообщений об ошибках следующим образом.
Could not load file or assembly 'Microsoft.Scripting.ExtensionAttribute, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Missing method .ctor in assembly /Users/smcho/Desktop/cs/namespace/IronPython.dll, type System.Runtime.CompilerServices.ExtensionAttribute Can't find custom attr constructor image: /Users/smcho/Desktop/cs/namespace/IronPython.dll mtoken: 0x0a000080 Could not load file or assembly 'Microsoft.Scripting.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Could not load file or assembly 'Microsoft.Scripting.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Could not load file or assembly 'Microsoft.Scripting.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. ...
Кажется, что IronPython нужен Microsoft.Scipting.Core, но с моно я не знаю, что делать?
Может ли C # запускать объект IronPython на Mono? Если так, как это сделать?