1

我用 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:
屏幕捕获 http://img51.imageshack.us/img51/589/errorts.jpg

我究竟做错了什么?

4

2 回答 2

4

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

于 2010-04-29T19:46:05.580 回答
2

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

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

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

于 2010-04-29T19:54:02.193 回答