2014-10-23 9 views
1

이중 net.tcp 연결을 사용하여 .net 4.5에서 WCF 서비스 호스트 및 클라이언트 응용 프로그램을 실행하는 서버 측 응용 프로그램 (시스템 서비스)을 작성했습니다. 다 잘 작동합니다 (svcutil을 사용하여 서버 어셈블리에서 클라이언트 측에서 프록시 생성).svcutil을 사용하여 .NET 4.5의 어셈블리에서 .NET 4.0 용 WCF 프록시를 생성하는 방법은 무엇입니까?

이제 Windows Embedded (XP 기반)에서 실행될 수 있도록 클라이언트 측 응용 프로그램을 .NET 4.0으로 변환하라는 요청을 받았습니다.

문제는 .NET 4.5에 대해 svcutil을 사용하는 비동기 메서드를 사용하지 않고 클라이언트 프록시를 생성 할 수 없으며 서버 어셈블리가 .NET 4.5로 작성되었으므로 .NET 용 svcutil을 사용하여 프록시를 생성 할 수 없습니다.

이 상황에 대한 해결책이 있습니까?

+0

_ "내가 역할을하기 때문에 [...], .NET 4.0는 svcutil을 사용하여 프록시를 생성 할 수 없습니다입니다 r 어셈블리는 .NET 4.5로 작성되었습니다. "_ - 시도 할 때 도구에서 알려주는 것은 무엇입니까? – CodeCaster

+0

오류 : C : \ ServerApplication.exe 파일을 어셈블리로로드 할 수 없습니다. 자세한 정보는 퓨전 로그를 확인하십시오. 하지만 지금은 해결책을 찾았습니다. 고맙습니다. – Fanda

답변

2

해결책을 찾았습니다. 클라이언트 프록시를 생성하는 두 단계의 과정 (메타 데이터를 생성하고, 메타 데이터로부터 클라이언트를 생성하기) 때문에, I는 다음 단계를 나누어 각 단계 상이한는 svcutil 사용 :

  • 사용는 svcutil .NET 4.5 생성하는 메타
  • 사용는 svcutil .NET 4.0에서 메타 데이터에서 프록시를 생성하는

-

"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\svcutil" "..\ServerApplication\ServerApplication\bin\Debug\ServerApplication.exe" 
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\svcutil" *.wsdl *.xsd /language:C# /out:ClientApplication\ServerApplicationClient.cs /noConfig