C#程序中的MissingMethodException

时间:2010-04-29 19:40:50

标签: c# .net missingmethodexception

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

MenuItem_Click事件处理程序

private void rUNToolStripMenuItem_Click(object sender, EventArgs e)
{
    MessageBox.Show("I'm in rUNToolStripMenuItem_Click!");
    ...

}

ToolStripMenuItem事件处理程序

private void dataPositionToolStripMenuItem_Click(object sender, EventArgs e)
{
    MessageBox.Show("I'm in dataPositionToolStripMenuItem_Click!");
    ...    
}

在我的电脑上运行:

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

MessageBox appears: "I'm in rUNToolStripMenuItem_Click"

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

MessageBox appears: "I'm in dataPositionToolStripMenuItem_Click!"

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

Messagebox doesn't appear and an Exception is thrown
Method not found: "Void    
Microsoft.CSharp.RuntimeBinder.CSharpGetMemberBinder.ctor(
System.String.System.Type, System.Collections.Generic.IEnumerable'1<Microsoft 
.CSharp.RuntimeBinder.CSharpArgument Info>)'.

这是PrintScreen,错误:
Screen Capture http://img51.imageshack.us/img51/589/errorts.jpg

我做错了什么?

2 个答案:

答案 0 :(得分:4)

另一台计算机是否安装了正确的.net运行时版本,并为其构建了该应用程序?

答案 1 :(得分:2)

在.NET中开发应用程序时,您需要确保主机环境具有与您的应用程序所针对的.NET框架相同的版本。

如果右键单击解决方案资源管理器中的应用程序,请转到属性,然后选择应用程序选项卡,您可以指定(或确认)您的应用程序正在使用的框架,这将是您必须安装的版本。

如果你有一个安装项目,你可以使.NET框架成为先决条件(基本上让用户在安装应用程序之前安装它),这样你就不会有这样的问题...