2010-04-29 7 views
1

J'ai écrit une application Windows Form en C# et cela fonctionne bien pour mon ordinateur. Mais sur un autre PC, une erreur se produit lorsque j'essaie de faire quelque chose.MissingMethodException dans le programme C#

MenuItem_Click gestionnaire d'événements

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

} 

ToolStripMenuItem gestionnaire d'événements

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

Fonctionnant sur mon ordinateur:

MenuItem_ClickEvent Gestionnaire de sortie (sur mon PC)

MessageBox appears: "I'm in rUNToolStripMenuItem_Click" 

ToolStripMenuItem gestionnaire d'événements (sur mon PC)

MessageBox appears: "I'm in dataPositionToolStripMenuItem_Click!" 

MenuItem_Click gestionnaire d'événements: (sur un autre 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>)'. 

C'est le Impr avec l'erreur:
Screen Capture http://img51.imageshack.us/img51/589/errorts.jpg

Qu'est-ce que je fais mal?

Répondre

4

Est-ce que l'autre version de l'ordinateur est équipée de la bonne version de .net runtime pour laquelle vous avez également créé cette application?

+0

Oui, mon ordinateur a .NET Framework 4.0.20506 et l'ordinateur sur lequel je l'ai déployé a .NET Framework 4.0.30319. Le programme s'exécute sur les deux ordinateurs, mais sur l'ordinateur de "destination" cela ne fonctionne pas quand j'essaye de faire quelque chose. Je mentionne que j'ai fait une configuration pour mon application. Merci – Aurelian

+0

Ce n'est pas la même version de hte .NET runtime. Construisez votre application pour .NET 4 RTM, déployez-la sur une machine avec .NET 4 RTM, et ça devrait aller. –

+0

Merci beaucoup, ANC_Michael! – Aurelian

2

Lors du développement d'applications dans .NET, vous devez vous assurer que l'environnement hôte dispose de la même version du framework .NET que votre application cible. Si vous faites un clic droit sur votre application depuis l'explorateur de solution, allez dans les propriétés puis sélectionnez l'onglet Application vous pouvez spécifier (ou confirmer) quel framework votre application utilise, ce sera la version que vous devrez installer.

Si vous avez un projet d'installation, vous pouvez rendre le framework .NET une condition préalable (fait essentiellement à l'utilisateur d'installer que avant de pouvoir installer l'application) de sorte que vous n'avez pas des questions comme celle-ci ...

+0

Merci beaucoup, James! – Aurelian

Questions connexes