MissingMethodException в программе C#

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

Обработчик событий 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: (на другом ПК)

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

Что я делаю не так?


person Aurelian    schedule 29.04.2010    source источник


Ответы (2)


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

person ANC_Michael    schedule 29.04.2010
comment
Да, на моем компьютере установлена ​​.NET Framework 4.0.20506, а на компьютере, на котором я ее развернул, установлена ​​.NET Framework 4.0.30319. Программа работает на обоих компьютерах, но на целевом компьютере она не работает, когда я пытаюсь что-то сделать. Я упоминаю, что я сделал настройку для своего приложения. Спасибо - person Aurelian; 30.04.2010
comment
Это не та же версия среды выполнения hte .NET. Создайте свое приложение для .NET 4 RTM, разверните его на машине с .NET 4 RTM, и все будет в порядке. - person Judah Gabriel Himango; 30.04.2010
comment
Я решил проблему! Я установил на свой компьютер Visual Studio 2010 Professional (полная версия), и теперь мой проект настроен на .NET Framework 4.0.30319. Теперь программа отлично работает на обоих компьютерах. Большое спасибо! - person Aurelian; 30.04.2010

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

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

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

person James    schedule 29.04.2010