当我尝试编译生成错误的文件时出现了一个使用svcutil的WCF代理(警告为我无法禁用的错误) 你的= proxy中的System.DateTimeOffset与System.DateTimeOffset混淆。我看到它有DateTimeOffset的代理文件。我使用svctutil 4.0.30319.18052来生成代理。
如何在不禁用检查的情况下避免此编译错误?使用代理的应用程序的目标是.net 4.0版本。 msdn http://msdn.microsoft.com/en-us/library/aa347733.aspx提到的svcutil文档:
“如果引用了DateTimeOffset,则使用此类型而不是生成新类型。如果使用.NET Framework 3.5编写应用程序,则SvcUtil.exe会自动引用DateTimeOffset。”
但不知道该怎么做..
我使用了svcutil选项/ targetClientVersion:version35,它没有生成DateTimeOffset的定义。但我的应用程序的目标是.net 4.0,我不确定如果目标版本3.5还有什么会破坏,但我认为它应该没问题,因为.net4.0向后兼容.net 3.5。
答案 0 :(得分:1)
上面已经给出了答案
我使用了svcutil选项 / targetClientVersion:version35 ,但它没有为DateTimeOffset生成定义。但我的应用程序的目标是.net 4.0,我不确定如果目标版本3.5还有什么会破坏,但我认为它应该没问题,因为.net4.0向后兼容.net 3.5。
有关此主题的进一步文档,请参阅https://msdn.microsoft.com/de-de/library/aa347733(v=vs.110).aspx。
我认为版本35 背后的意图是 3.5及以上版本。只有在您希望使用较低版本的.Net框架时才需要重新考虑。