2010-04-29 3 views
1

Я написал приложение Windows Form Application на C# и хорошо работает для своего компьютера. Но на другом ПК возникает ошибка, когда я пытаюсь сделать что-то.MissingMethodException в программе C#

MenuItem_Click Event Handler

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

} 

ToolStripMenuItem Event Handler

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

работает на моем компьютере:

MenuItem_ClickEvent Handler Output (On My PC)

MessageBox appears: "I'm in rUNToolStripMenuItem_Click" 

ToolStripMenuItem Event Handler (On My PC)

MessageBox appears: "I'm in dataPositionToolStripMenuItem_Click!" 

MenuItem_Click Event Handler: (На другой компьютер)

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

Что я делаю неправильно?

ответ

4

У другого компьютера есть версия версии .net, установленная на нем, для которой вы тоже создали это приложение?

+0

Да, мой компьютер имеет .NET Framework 4.0.20506 и компьютер, на котором я его развернул, имеет .NET Framework 4.0.30319. Программа работает на обоих компьютерах, но на «целевом» компьютере она не работает, когда я пытаюсь сделать что-то. Я упоминаю, что создал настройку для своего приложения. Спасибо – Aurelian

+0

Это не та же версия hte .NET runtime. Создайте приложение для RTM .NET 4, разверните его на машине с RTM .NET 4, и все будет в порядке. –

+0

Большое спасибо, ANC_Michael! – Aurelian

2

При разработке приложений в .NET вам необходимо убедиться, что хост-среда имеет ту же версию платформы .NET, что и в вашем приложении.

Если вы щелкните правой кнопкой мыши свое приложение в браузере решений, перейдите к свойствам, затем выберите вкладку «Приложение», в которой вы можете указать (или подтвердить), в какой среде используется ваше приложение, это будет версия, которую вам нужно будет установить.

Если у вас есть настройки проекта вы можете сделать каркас .NET является необходимым условием (в основном делает пользователь установить, что, прежде чем они могут установить приложение), так что вы не имеете проблем, как это ...

+0

Большое спасибо, Джеймс! – Aurelian