我正在生成一个代理类的webservice以在我的项目中使用(离线工作)。
按照本网站上的说明操作:http://msdn.microsoft.com/en-us/library/aa347733%28v=vs.110%29.aspx
对于SVC来说是这样的: C:\ Temp \ svc> svcutil" http://mywebservice.ws/wsAddress.asmx?WSDL"
像webservice这样: C:\ Temp \ ws> wsdl" http://mywebservice.ws/wsAddress.asmx?WSDL"
两者都是为4.0版生成的。
因此它为.NET Framework 4.0版生成。在我的目标项目上,我需要将它用于Framework 3.5版。
当我将代理类复制到项目并尝试运行它时会出现编译错误,因为某些名称空间不在v3.5中,我应该使用V3.5。
e.g。 System.Threading.Tasks.Task - >不在V3.5
那么如何为v3.5生成代理类?
我正在使用VS 2013.
答案 0 :(得分:2)
MSDN上的ServiceModel Metadata Utility Tool (Svcutil.exe)页面声明:
该工具不支持多重定位。如果要从svcutil.exe生成.NET 4工件,则必须使用.NET 4 SDK中的svcutil.exe。要生成.NET 3.5工件,请使用.NET 3.5 SDK中的可执行文件。
所以您只需要在调用之前设置环境以使用正确的SDK:
C:\ Temp \ svc> svcutil“http://mywebservice.ws/wsAddress.asmx?WSDL”