2010-04-29 2 views
1

C#으로 Windows Form 응용 프로그램을 작성했으며 컴퓨터에서 잘 작동합니다. 하지만 다른 PC에서 일부 작업을 시도 할 때 오류가 발생합니다.C# 프로그램의 MissingMethodException

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!"); 
    ...  
} 

내 컴퓨터에서 실행 : (내 PC에)

MenuItem_ClickEvent 처리기 출력

MessageBox appears: "I'm in rUNToolStripMenuItem_Click" 
(내 PC에)

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

내가 뭘 잘못하고 있니?

답변

4

다른 컴퓨터에도 해당 응용 프로그램을 빌드 한 올바른 .NET 런타임 버전이 설치되어 있습니까?

+0

예, 내 컴퓨터에 .NET Framework 4.0.20506이 있고 배포 한 컴퓨터에 .NET Framework 4.0.30319가 있습니다. 이 프로그램은 두 컴퓨터에서 실행되지만 "대상"컴퓨터에서는 일부 작업을 수행 할 때 작동하지 않습니다. 나는 내 응용 프로그램을위한 설정을했다는 것을 언급한다. 감사합니다 – Aurelian

+0

이것은 hte .NET 런타임의 동일한 버전이 아닙니다. .NET 4 RTM 용 응용 프로그램을 빌드하고 .NET 4 RTM이있는 시스템에 배포하면됩니다. –

+0

고마워요, ANC_Michael! – Aurelian

2

.NET에서 응용 프로그램을 개발할 때 호스트 환경에 응용 프로그램이 목표로하는 것과 동일한 .NET Framework 버전이 있는지 확인해야합니다.

솔루션 탐색기에서 응용 프로그램을 마우스 오른쪽 단추로 클릭하고 속성으로 이동 한 다음 응용 프로그램 탭을 선택하면 응용 프로그램에서 사용중인 프레임 워크를 지정하거나 확인할 수 있습니다.이 버전은 설치해야하는 버전입니다.

당신은 .NET 프레임 워크 전제 조건 만들 수있는 설치 프로젝트를 때문에이 같은 문제가 없습니다 (기본적으로 그들은 응용 프로그램을 설치하기 전에 사용자가 해당 설치한다) ... 경우

+0

고마워, 제임스! – Aurelian