当我试图编译该文件时,我使用svcutil生成了一个WCF代理,它生成了一个错误(警告为错误,我不能禁用),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 Framework3.5编写的,则SvcUtil.exe自动引用DateTimeOffset。
但不知道该怎么做。
我使用了svcutil选项/targetClientVersion:version35,它没有为DateTimeOffset生成定义。但是我的应用程序是针对.net 4.0的,我不知道如果目标版本3.5还会有什么问题,不过我认为应该可以,因为.net4.0与.net 3.5向后兼容。
发布于 2016-06-23 11:34:27
以上已经给出了答案。
我使用了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。
我认为值version35背后的意图是版本3.5及以上。只有当您想使用版本较低的.Net框架时,您才需要重新考虑。
https://stackoverflow.com/questions/19172594
复制相似问题