2010-05-17 3 views
1

내 서비스는 다른 DLL에 정의 된 Foo 형식을 사용하고 내 클라이언트는 해당 DLL을 사용하여 해당 형식을 가져옵니다. 해당 유형에 대한 프록시 클래스를 생성하는 대신 프록시 코드가 실제 유형을 참조하기를 바랍니다. 실행중인 서비스에서 WSDL.EXE를 사용하여 프록시를 생성하고 수동으로 부분 클래스 Foo 정의를 편집 한 다음 Using 문을 추가하여이를 수동으로 수행 할 수 있습니다. 나는 가능한 한 손으로 편집하지 않고 그것을하고 싶다.svcutil.exe excludetypes 문제

아마도 대답은 WSDL.EXE 대신 SVCUTIL.EXE를 사용하는 것 같습니다. 두 가지 흥미로운 옵션이 있습니다 :/R 및/ET./ET : Foo 및 /ET:My.FQN.Util.Foo 및 /ET:www.my.com.the.servicenamespace.Foo를 넣고이 DLL 파일 이름을 옵션에 추가했습니다. 그러나 생성 된 ServiceWithFoos.cs 프록시 클래스는 변경되지 않습니다. Foo에 대한 부분 클래스 정의는 여전히 존재합니다.

올바른 경로에 있습니까? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

0

[DataContract(Namespace = "http://anything.here")]을 Foo 유형에 추가 한 다음/r 옵션과 함께 svcutil을 사용하여 Foo가 포함 된 라이브러리의 경로를 가져옵니다. 이렇게하면 svcutil이 동일한 계약 네임 스페이스를보고 Foo를 올바르게 매핑해야합니다.

+0

이것은 제대로 작동하지 않았습니다. 죄송 합니다만,이 사이트에서는 오류 메시지를 게시 할 수 없습니다! 나는 지난 30 분 동안 온갖 종류의 일들을 시도해 왔지만 그것은 항상 나의 의견을 거부합니다. 그것을 클릭하면 제출 버튼이 회색으로 변합니다. 오류 메시지에 포함 된 URL이 있습니다. 아마도 Stackoverflow는 내가 해킹하려고한다고 생각합니다. – cstacy