【发布时间】:2018-03-27 04:09:21
【问题描述】:
我正在努力寻找一种在 Visual Studio 2017 中以任何方式简单地使用 OData v3.0 服务的方法,因此我可以使用客户端库来帮助开发我的应用程序/服务来使用数据。
根据Microsoft OData Stack 页面,他们似乎拥有使用 OData v4.0 服务的所有工具和支持。不知道我实际上是在处理 v3.0 服务,我按照这些说明进行操作,并且如页面所述,有两个工具选项可以帮助您入门。一个是ODataClient Code Generator,另一个是OData Connected Service扩展
在经历了一些困难之后才能让其中任何一个工作(请参阅GitHub Issue 以实际找到与 VS2017 一起工作的客户端代码生成器版本,并尝试解决以获取 OData 连接服务为了使用需要身份验证的服务,我终于意识到我正在使用 OData v3.0 响应。所以这些工具无济于事。
现在与 OData Connected Service 市场页面上实际提到的内容相矛盾,其中写着“V1-V4 的 OData 连接服务”,这不起作用。如果 OData 服务需要身份验证,那么我会在尝试通过扩展添加连接服务时收到此错误对话框:
然后我阅读了一个 GitHub 问题(找不到它),一个潜在的解决方法是下载从点击 /$metadata 端点返回的 XML,将其重命名为 whatever.edmx 并尝试通过向该文件提供file:// URI 来将其用于扩展。这不适用于以下错误对话框:
然后我放弃了这种方法并尝试改用Client Code Generator,并在 TT 配置中提供 edmx 文件(以解决身份验证问题,但这不起作用,因为它是 OData v3.0而不是 4.0。
那么,对于v3.0,方法似乎是使用Add Service Reference,但是当我这样做时,我收到以下错误:
..但是那个工具不支持v3.0..所以现在我不知道如何继续!?
任何帮助将不胜感激!
【问题讨论】:
-
我遇到了同样的问题,无法解决。 stackoverflow.com/questions/48671346/… 微软似乎没有更新他们的工具。您可以在此链接上尝试我的建议。
-
查看我的答案,寻找一种似乎是阻力最小的解决方法。
标签: c# visual-studio-2017 odata