我使用duplex net.tcp连接编写了运行WCF服务主机和客户端应用程序的服务器端应用程序(系统服务),两者都在.net 4.5中。一切正常(使用svcutil从服务器程序集在客户端生成代理)。
现在我收到将客户端应用程序转换为.NET 4.0的请求,以便能够在Windows Embedded(基于XP)上运行。
问题是,我没有能够使用svcutil
for .NET 4.5生成没有异步方法的客户端代理,也无法使用svcutil
为.NET 4.0生成代理,因为服务器程序集是用.NET 4.5。
这种情况有解决方案吗?
答案 0 :(得分:3)
我找到了解决方案。因为生成客户端代理是两步过程(生成元数据并从元数据生成客户端),我将这些步骤拆分并用于每个步骤不同的svcutil:
-
"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