问题标签 [missingmethodexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
47618 浏览

c# - Activator.CreateInstance 找不到构造函数(MissingMethodException)

我有一个具有以下构造函数的类

以及一个没有参数的默认构造函数。

接下来我正在尝试创建一个实例,但它只能在没有参数的情况下工作:

这工作得很好,但如果我想传递参数,它不会:

这导致MissingMethodException

未找到构造函数类型 Vialis.LightLink.Controller.Scenarios.Composites.DelayCompositeDesigner

这里有什么想法吗?


问题是我真的需要在构造过程中传递一个对象。

你看我有一个设计器,它加载所有从CompositeBase. 然后将它们添加到列表中,用户可以从中将它们拖到设计器中。这样做后,将拖动的实例添加到设计器中。这些类中的每一个都定义了自定义属性:

当用户在设计器中选择一个项目时,它会查看这些属性以加载该类型的设计器。例如,在这种情况下,DelayComposite它会加载一个用户控件,该控件具有一个标签和一个滑块,允许用户设置DelayComposite实例的“延迟”属性。

到目前为止,如果我不将任何参数传递给构造函数,这可以正常工作。设计器创建 的实例DelayCompositeDesigner并将其分配给 WPF 的 content 属性ContentPresenter

但是由于那个设计器需要修改设计器中选择的属性,所以DelayComposite 我必须将这个实例传递给它。这就是为什么构造函数看起来是这样的:

欢迎提出建议


@VolkerK

您的代码的结果是这样的:

<---- foo Vialis.LightLink.Controller.Scenarios.Composites.DelayCompositeDesignerVoid .ctor() Vialis.LightLink.Controller.Scenarios.Composites.DelayCompositeDesignerVoid .ctor(Vialis.LightLink.Controller.Scenarios.Composites.DelayComposite) 参数:Vialis .LightLink.Controller.Scenarios.Composites.DelayComposite foo ---->


Leppie,你是对的,我出于某种原因在我的 UI 应用程序中引用了 Composites 程序集……这不是我应该做的,因为我在运行时加载它。以下代码有效:

如您所见,代码不了解DelayComposite类型。

这解决了当前的问题,但是为我想要实现的目标引入了许多新的问题,无论哪种方式都谢谢你,也感谢所有在这里回答的人。


至于以下代码,多人建议:

Activator.CreateInstance签名如下所示:

所以它应该接受我的代码,但我会尝试建议的代码

更新:

我已经按照建议尝试了这个:

结果是一样的。

0 投票
3 回答
2093 浏览

.net - 在调试时我应该采取什么下一步来修复 MissingMethodException?

我正在从另一个程序集中的 C# 代码调用一个程序集中的一些 VB.NET 代码。代码构建得很好,但是MissingMethodException当我打电话时我得到了。

通常,根据MethodMissingException我读过的 Stack Overflow 和 Google 搜索结果,这是由于您正在构建的 DLL 与您正在运行的 DLL 之间的不匹配。没有一个结果提到第三个 DLL。更多关于下面的内容。

我已经确认:

  • 调试时根据 VS2008 输出窗口,目标 DLL 的路径与引用的路径匹配
  • 根据 ProcExp,这是系统上加载的目标 DLL 的唯一版本
  • 根据代码存在“缺失”方法
  • 根据生成的 XML 文档存在“缺失”方法
  • 根据反射器存在“缺失”方法

最强的领先优势是重复加载包含“缺失”方法签名中使用的类型的程序集。它来自SecondParty(我参考)和FirstParty(复制本地设置)。

手动将所有内容复制到新目录可以解决问题。但是,这使得调试变得棘手:我喜欢直接点击绿色三角形。

细节:

我有一个带有强类型 ADO.NET 数据集的第三个程序集。我们称之为类型ThirdParty.PortableData。我FirstParty正在用数据填充它并将其传递给SecondParty.

失败的调用代码FirstParty如下所示:

MissingMethodException从调用包含此代码的方法的行中抛出。)

SecondParty在运行时似乎FirstParty无法找到的目标代码如下所示:

我也尝试过,调用代码略有不同:

根据ThirdPartyVS2008 和 ProcExp,DLL 从多个位置加载——一次从参考路径加载,一次从构建目录加载。DLL 的 MD5 摘要匹配。

如果我将所有内容复制到一个新目录中,确保只有一个ThirdPartyDLL 副本,则程序可以正常工作。

ThirdParty关闭“复制本地”的所有引用。然而,一个副本正坐在FirstParty\bin\Debug.

我还应该检查什么?MissingMethodException除了复制构建产品的构建后脚本之外,我如何在调试期间进行预防?

0 投票
4 回答
978 浏览

.net - .NET MissingMethodException 发生在数千台最终用户机器中的一台上——有什么见解吗?

这个问题让我感到困惑,它影响到单个用户(据我所知)并且我们没有复制......

  • 用户正在接收 MissingMethodException,我们的跟踪文件表明它发生在我们创建组件的新实例之后,当我们调用 Initialize/Setup 方法准备让它工作时(示例中为 InitializeWorkerByArgument)

  • 错误指定的Method是接口方法,基类实现,基类派生的类可以根据需要重写

  • 用户拥有我们应用程序的最新版本

  • 所有提供的代码都在一个程序集中发货

这是该组件的一个非常精炼的版本:

0 投票
27 回答
285399 浏览

c# - ASP.NET MVC:没有为此对象定义无参数构造函数

我正在关注 Steven Sanderson 的“ Pro ASP.NET MVC Framework ”一书。在第 132 页,按照作者的建议,我下载了 ASP.NET MVC Futures 程序集,并将其添加到我的 MVC 项目中。[注意:这可能是一个红鲱鱼。]

在此之后,我无法再加载我的项目。上面的错误让我感到很冷。

我的问题不是“你能帮我修复我的代码吗?”

相反,我想更广泛地了解:

  • 我应该如何解决这个问题?
  • 我应该寻找什么?
  • 根本原因可能是什么?

看来我应该比现在更深入地了解路由和控制器。

0 投票
4 回答
627 浏览

c# - 在设计器中打开表单时出现 MissingMethodException;运行时工作正常

假设我有一个项目 A,其类 A 具有此属性:

在同一个解决方案中,我有一个引用项目 A 的项目 B 并有一个名为Login的用户控件。此控件具有以下属性:

Login的构造函数中,我执行以下调用:

if (m_A != null && m_A.IsConnected) { ... }

在同一个项目中,主窗体上有一个用户控件 A,该控件是随窗体设计器添加的。程序运行良好,并且该属性被正确读取。

但是,在设计器中打开主窗体时,我得到了这个执行: MissingMethodException: 'Boolean A.get_IsConnected()'

注释掉 m_A.IsConnected 让我使用设计器,但这很烦人。有时它似乎随机地起作用。

有任何想法吗?

0 投票
1 回答
1877 浏览

asp.net-mvc - 这个 System.MissingMethodException 发生在哪里?我怎么知道?

我是 ASP.NET MVC (v2) 的新手,我正在尝试使用与包含两个可选多选列表框对象的模型对象绑定的强类型视图。单击提交按钮后,这些对象可能会为它们选择 0 个或多个值。

我的模型类如下所示:

我的观点是这样的:

我的 MessagesController 中有一个无参数的 ActionResult,如下所示:

...我的基于模型的控制器如下所示:

问题是,我可以在提交之前访问该页面。但是,当我实际进行选择并按下提交按钮时,我得到:

Server Error in '/' Application. No parameterless constructor defined for this object. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.MissingMethodException: No parameterless constructor defined for this object. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [MissingMethodException: No parameterless constructor defined for this object.] System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck) +0 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache) +86 System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache) +230 System.Activator.CreateInstance(Type type, Boolean nonPublic) +67 System.Activator.CreateInstance(Type type) +6 System.Web.Mvc.DefaultModelBinder.CreateModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Type modelType) +307 System.Web.Mvc.DefaultModelBinder.BindSimpleModel(ControllerContext controllerContext, ModelBindingContext bindingContext, ValueProviderResult valueProviderResult) +495 System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +473 System.Web.Mvc.DefaultModelBinder.GetPropertyValue(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor, IModelBinder propertyBinder) +45 System.Web.Mvc.DefaultModelBinder.BindProperty(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor) +642 System.Web.Mvc.DefaultModelBinder.BindProperties(ControllerContext controllerContext, ModelBindingContext bindingContext) +144 System.Web.Mvc.DefaultModelBinder.BindComplexElementalModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Object model) +95 System.Web.Mvc.DefaultModelBinder.BindComplexModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +2386 System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +539 System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +447 System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +173 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +801 System.Web.Mvc.Controller.ExecuteCore() +151 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +105 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +36 System.Web.Mvc.<>c__DisplayClass8.b__4() +65 System.Web.Mvc.Async.<>c__DisplayClass1.b__0() +44 System.Web.Mvc.Async.<>c__DisplayClass81.<BeginSynchronous>b__7(IAsyncResult _) +42 System.Web.Mvc.Async.WrappedAsyncResult1.End() +140 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +54 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +52 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +36 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8677678 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155 Version Information: Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3082

这个错误在我捕获它之前就出现了。我不知道它在哪里窒息,或者它在窒息什么。我没有看到无法使用无参数构造函数创建此模型的任何点,而且我无法找出它正在死去的地方......感谢您的帮助,谢谢。

-杰里米

0 投票
1 回答
161 浏览

asp.net - ASP.NET 在更新绑定到自定义 DataTable 的 DataGrid 时遇到问题

我通过 ObjectDataSource 将自定义 DataTable 绑定到 DataGrid,我使用 SelectMethod 和 UpdateMethod。SelectMethod 工作得很好,但是当我尝试更新行时,它被 MissingMethodException 破坏了。我应该怎么做才能解决这个问题?

对不起,我的英语不好 ;)

0 投票
2 回答
3106 浏览

c# - C# 程序中的 MissingMethodException

我用 C# 编写了一个 Windows 窗体应用程序,它适用于我的计算机。但是在另一台 PC 上,当我尝试做一些事情时会发生错误。

MenuItem_Click 事件处理程序

ToolStripMenuItem 事件处理程序

在我的电脑上运行:

MenuItem_ClickEvent 处理程序输出(在我的电脑上)

ToolStripMenuItem 事件处理程序(在我的电脑上)

MenuItem_Click 事件处理程序:(在另一台 PC 上)

这是有错误的 PrintScreen:
屏幕捕获 http://img51.imageshack.us/img51/589/errorts.jpg

我究竟做错了什么?

0 投票
3 回答
2973 浏览

app-config - 在不同的计算机上运行应用程序时出现 MissingMethodException

我有一个问题,我在 Visual Studio 2010 上编译了我的应用程序,同时以 .NET Framework 3.5 为目标,将其部署到客户端服务器,却发现它给了我以下错误:

它说它正在寻找的方法是这样的:(XslTransform.Transform Method (IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)支持:4、3.5、3.0、2.0、1.1

我尝试使用如下assemblyBinding元素设置重定向到相同 DLL 的 .NET Framework 4.0 版本:

但现在应用程序将无法运行,并将其放入事件日志中:

EventType clr20r3,P1 myapplication.exe,P2 3.85.12.27583,P3 4be9757f,P4 system.configuration,P5 2.0.0.0,P6 4889de74,P7 1a6,P8 136,P9 ioibmurhynrxkw0zxkyrvfn0boyyufow,P10 NIL。

所以,总而言之,(1) 有谁知道为什么应用程序找不到列出的方法,(2) 为什么它不让我重定向到 System.Xml 的 .NET 4.0 版本?

任何帮助表示赞赏,我完全被卡住了!

app.config 按要求:

0 投票
1 回答
449 浏览

grails - 首次访问时出现 Grails Webflow 错误

我在 Grails 中开发了一个简单的 webflow(主要是为了尝试使用 webflows——在这种情况下有点矫枉过正)。在对 Serializable 对象进行了一些试验和磨难之后,我让它工作了——有时。

这是问题 - 我在启动应用程序(运行应用程序)后第一次访问 webflow,我得到了这个异常:

如果我“触摸”控制器(进行任何编辑,即使只是添加空格)然后保存文件,webflow 就会开始工作......似乎在控制器重新加载至少一次之前,有些东西没有连接起来. 显然这是一个非首发......任何想法是什么导致了这个?

我在 Mac OSX Java 1.6 上使用 Grails 1.3.1。

这是网络流的骨架: