IronPython, Click Once, .NET 2.0 Ошибка - мысли? - PullRequest
2 голосов
/ 28 мая 2009

Я пытаюсь развернуть тестовое приложение для проверки возможности исправления приложения Click Once Smart Client, которое также использует механизм правил, настраиваемый путем встраивания IronPython.

Пока что все пользователи, кроме меня, получают эту ошибку (ниже) при вызове обработчика сценариев.

Нужно ли делать что-то особенное для принудительного развертывания сборок IronPython и Scripting? Я думал, что это будет автоматически, потому что они упоминались в моем проекте. Это просто невозможно в .NET 2.0?

Мысли

************** Exception Text **************
System.MissingMethodException: Method not found: 'Void System.Reflection.Emit.DynamicMethod..ctor(System.String, System.Type, System.Type[], Boolean)'.
   at Microsoft.Scripting.Utils.Helpers.CreateDynamicMethod(String name, Type returnType, Type[] parameterTypes)
   at Microsoft.Linq.Expressions.Compiler.Snippets.CreateDynamicMethod(String name, Type returnType, Type[] parameterTypes)
   at Microsoft.Linq.Expressions.Compiler.LambdaCompiler.CreateDynamicLambdaCompiler(CompilerScope scope, String methodName, Type returnType, IList`1 paramTypes, IList`1 paramNames, Boolean closure, Boolean emitDebugSymbols, Boolean forceDynamic)
   at Microsoft.Linq.Expressions.Compiler.LambdaCompiler.CompileLambda(LambdaExpression lambda, Type delegateType, Boolean emitDebugSymbols, Boolean forceDynamic, MethodInfo& method)
   at Microsoft.Linq.Expressions.Compiler.LambdaCompiler.CompileLambda[T](LambdaExpression lambda, Boolean emitDebugSymbols)
   at Microsoft.Linq.Expressions.LambdaExpression.Compile[T](Boolean emitDebugSymbols)
   at Microsoft.Scripting.Runtime.OptimizedScriptCode.InvokeTarget(LambdaExpression code, Scope scope)
   at Microsoft.Scripting.SourceUnit.Execute(Scope scope, ErrorSink errorSink)
   at Microsoft.Scripting.Hosting.ScriptSource.Execute(ScriptScope scope)
   at UAP.UI.Form1.button1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Ответы [ 2 ]

4 голосов
/ 29 мая 2009

Для запуска IronPython требуются .NET 2.0SP1 или новее. Это исключение происходит из-за перегрузки, которая была добавлена ​​в SP1.

0 голосов
/ 28 мая 2009

Если вы щелкнете правой кнопкой мыши по своему проекту и перейдете на Properties, появится вкладка Publish, которая позволит вам указать необходимые установки для вашего приложения.

Предположительно, здесь вы можете указать путь к исполняемому файлу IronPython.

...