1

当我尝试编译文件时,我使用 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。

4

1 回答 1

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

我认为值version35背后的意图是3.5 及更高版本。只有在您喜欢使用较低版本的 .Net 框架时,您才需要重新考虑。

于 2016-06-23T11:34:27.220 回答