我在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
我做错了什么?
答案 0 :(得分:4)
另一台计算机是否安装了正确的.net运行时版本,并为其构建了该应用程序?
答案 1 :(得分:2)
在.NET中开发应用程序时,您需要确保主机环境具有与您的应用程序所针对的.NET框架相同的版本。
如果右键单击解决方案资源管理器中的应用程序,请转到属性,然后选择应用程序选项卡,您可以指定(或确认)您的应用程序正在使用的框架,这将是您必须安装的版本。
如果你有一个安装项目,你可以使.NET框架成为先决条件(基本上让用户在安装应用程序之前安装它),这样你就不会有这样的问题...