我有以下的IronPython代码。
在复制了IronPython.dll后,我运行了以下命令(尝试使用gacutil运行,但遇到了错误):
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但是我得到了以下错误消息:
无法加载文件或程序集“Microsoft.Scripting.ExtensionAttribute,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其一个依赖项。 在程序集/Users/smcho/Desktop/cs/namespace/IronPython.dll中,类型System.Runtime.CompilerServices.ExtensionAttribute的构造方法丢失。 找不到自定义属性构造函数的映像:/Users/smcho/Desktop/cs/namespace/IronPython.dll mtoken: 0x0a000080 无法加载文件或程序集“Microsoft.Scripting.Core,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其一个依赖项。 无法加载文件或程序集“Microsoft.Scripting.Core,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其一个依赖项。 无法加载文件或程序集“Microsoft.Scripting.Core,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其一个依赖项。 ...看起来IronPython需要Microsoft.Scripting.Core,但是在mono上我不知道该怎么做?
- C#是否能在Mono上运行IronPython对象?如果可以,如何操作?