Исключение IronPython Microsoft.Scripting - PullRequest
1 голос
/ 08 марта 2011

Я пытаюсь запустить код IronPython с помощью c #.Я создал простое консольное приложение (.net 4) и добавил IronPython.dll, IronPython.Modules.dll и Microsoft.Scripting и написал следующий код -

using Microsoft.Scripting.Hosting;

namespace app
{
    class Program
    {
        static void Main(string[] args)
        {
            ScriptRuntime runtime = IronPython.Hosting.Python.CreateRuntime();
            ScriptEngine engine = runtime.GetEngine("py");

            engine.Execute("print 'hello!'");
        }
    }
}

При попытке запустить это, я получаюисключение -

Необработанное исключение: System.Reflection.TargetInvocationException: Исключение было сгенерировано целью вызова.---> System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'Microsoft.Scripting, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35' или одна из ее зависимостей.Система не может найти указанный файл.в Core.LanguageProvider.Python..ctor (Поток потока) --- Конец трассировки стека внутренней исключительной ситуации --- в System.RuntimeMethodHandle._InvokeConstructor (метод IRuntimeMethodInfo, аргументы O bject [], SignatureStruct & signature, объявление типа RuntimeType) в System.RuntimeMethodHandle.InvokeConstructor (метод IRuntimeMethodInfo, аргументы Ob ject [], сигнатура SignatureStruct, declaringType RuntimeType) в System.Reflection.RuntimeConstructorInfo.Invoke (привязка BindingFlags, invokeAttr, параметры inInder.IntempTimeInfoTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTimeTinTimeTimeTimeTimeTInTeTInTecTInTextInTimeTimeTimeTimeTimeTimeTyTTNT) в качестве аргумента для получения ссылки на объект.BindingFlags bindingAttr, Binder bin der, Object [] args, CultureInfo culture, Object [] activAttributes) в System.Activator.CreateInstance (Тип тип, BindingFlags bindingAttr, Binde r binder, Object [] args, CultureInfo culture, Object [] активацииAttributes)в System.Activator.CreateInstance (тип Type, Object [] args) в Core.LanguageRuntime.RegisterLanguageProvider (Type providerType) в D: \ cod e \ CodeRunner \ Core \ LanguageRuntime.cs: строка 30 в Test.Program.Main (String [] args) в D: \ code \ CodeRunner \ Test \ Program.cs: lin e 19 Нажмите любую клавишу для продолжения.,.

Я действительно, t know what to do , searched at google and don не могу найти решение.Я буду рад получить помощь.

1 Ответ

2 голосов
/ 08 марта 2011

Какую версию железного питона вы используете? Синтаксис, который вы показываете, кажется, принадлежит более старой версии, теперь у вас должно быть что-то вроде:

var ipy = Python.CreateRuntime();

в любом случае это сообщение в блоге , кажется, очень точно указывает правильную ссылку для использования. В любом случае, убедитесь, что у вас установлена ​​ последняя версия IronPython.

...