2017-04-24 4 views
0

WCF 웹 서비스와 통신하는 .NET 4에서 실행되는 Windows Forms 응용 프로그램이 있습니다. 응용 프로그램은 X86을 플랫폼 대상으로 실행하도록 컴파일됩니다. 이 응용 프로그램은 수백 대의 컴퓨터 네트워크에 배포되었으며, 한 두 가지만 존재합니다.이 경우에는 "XPP 버전"("Windows XP Embedded POSReady 2009" WCF 프록시 클래스 개체의 생성자를 호출 할 때 런타임에 잘못된 프로그램이 발견되었습니다. 문제를 분리하기 위해 다음과 같이 웹 서비스 프록시 클래스의 생성자를 호출하는 것만 제외하면 작은 콘솔 응용 프로그램을 만들었습니다.WCF 공용 언어 런타임에서 Windows XP에서 잘못된 프로그램을 감지했습니다.

ItesWebServiceClient m_webService = new ItesWebServiceClient ("BasicHttpBinding_IItesWebService");

는 그리고 예외는 발생합니다 :

stacktrace output

같은 콘솔 응용 프로그램은 다른 모든 컴퓨터, 동일한 Windows 버전으로도 사람에서 실행됩니다.

우리는 이미 실패한 컴퓨터에서 .Net 프레임 워크를 복구하고 재설치하려했지만 아직까지는 아무 것도 수정하지 않았습니다. 또한 PEVerify 도구를 사용하여 MSIL의 유효성을 검사하고 다른 게시물에 제안 된대로 디버그 모드 (최적화 안 함)로 코드를 실행했습니다.

내가 누락 된 자료가 있습니까? 거기에 핵심 .NET Framework 구성 요소 또는 핫픽스를 설치할 필요가있을 수 있습니까?

감사

답변

0

확인은 다시 설치 한 컴퓨터에서 닷넷 프레임 워크를 사람이 항상 .NET 클라이언트 프로파일 버전을 설치 한 것으로 나타났다. 해당 버전을 제거하고 전체 .net 4 버전을 설치하면 해결되었습니다.

관련 문제