Ich versuche eine Testanwendung zu entwickeln, um die Machbarkeit einer Click Once Smart Client-App zu testen, die auch eine durch Einbetten von IronPython anpassbare Regel-Engine verwendet.IronPython, klicken Sie einmal, .NET 2.0 Fehler - Gedanken?
Bisher haben alle Benutzer außer mir diesen Fehler (siehe unten) beim Aufruf der Skript-Engine.
Muss ich etwas Spezielles tun, um die Bereitstellung der IronPython- und Scripting-Assemblies zu erzwingen? Ich dachte, das wäre automatisch, weil sie in meinem Projekt referenziert wurden. Ist das in .NET 2.0 nicht machbar?
Gedanken?
************** 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)
Aber ich sollte es nicht richtig installieren müssen? Drücken Sie einfach die 3 benötigten Baugruppen nach rechts? IronPython.dll, Microsoft.Scripting.dll, Microsoft.Scripting.Code.dll - Aber wie kann ich feststellen, ob diese 3 Assemblies 3.0 oder 3.5 richtig ausgeführt werden müssen? – BuddyJoe
Sie benötigen auch Microsoft.Scripting.ExtensionAttribute.dll, und Sie möchten wahrscheinlich IronPython.Modules.dll. Sie müssen absolut nicht installieren und Sie benötigen nicht .NET 30 oder 3.5, aber Sie benötigen SP1 von .NET 2.0. (Wenn Sie 3.5 installiert haben, haben Sie automatisch 2.0 SP1.) –