Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Visual Studio 2017中使用OData v3.0服务_C#_Visual Studio 2017_Odata - Fatal编程技术网

C# 如何在Visual Studio 2017中使用OData v3.0服务

C# 如何在Visual Studio 2017中使用OData v3.0服务,c#,visual-studio-2017,odata,C#,Visual Studio 2017,Odata,我正在努力寻找一种方法,在Visual Studio 2017中以任何方式简单地使用OData v3.0服务,这样我就可以使用客户端库来帮助开发我的应用程序/服务来使用数据 根据页面,他们似乎拥有使用ODataV4.0服务的所有工具和支持。我不知道我实际上是在处理一个v3.0服务,我遵循了这些说明,正如页面所描述的,有两个工具选项可以帮助您开始。一个是OData,另一个是扩展 在经历了一些困难之后,甚至让其中一个工作(请参阅,了解如何实际找到与VS2017兼容的客户端代码生成器版本,并尝试解决O

我正在努力寻找一种方法,在Visual Studio 2017中以任何方式简单地使用OData v3.0服务,这样我就可以使用客户端库来帮助开发我的应用程序/服务来使用数据

根据页面,他们似乎拥有使用ODataV4.0服务的所有工具和支持。我不知道我实际上是在处理一个v3.0服务,我遵循了这些说明,正如页面所描述的,有两个工具选项可以帮助您开始。一个是OData,另一个是扩展

在经历了一些困难之后,甚至让其中一个工作(请参阅,了解如何实际找到与VS2017兼容的客户端代码生成器版本,并尝试解决OData连接服务与需要身份验证的服务兼容的问题,我最终意识到我使用的是OData v3.0响应。因此,这些工具帮不上忙

现在,与marketplace页面上实际提到的内容相矛盾,其中说的是“用于V1-V4的OData连接服务”,这不起作用。如果OData服务需要身份验证,则我通过扩展添加连接服务时会出现此错误对话框:

因此,我在GitHub上读到一个问题(找不到它),一个潜在的解决办法是下载命中/$metadata端点返回的XML,将其重命名为
whatever.edmx
,并尝试通过向该文件提供
文件://
URI来将其用于扩展。以下错误对话框不起作用:

因此,我放弃了这种方法,转而尝试使用,并在TT配置中为其提供edmx文件(以解决身份验证问题,但这不起作用,因为它是OData v3.0,而不是4.0)

因此,对于v3.0,方法似乎是使用
添加服务引用
,但当我这样做时,我得到以下错误:

…但该工具不支持v3.0..所以现在我不知道如何继续


任何帮助都将不胜感激!

以防其他人无意中发现此特定组合,并且似乎无法继续使用当前VS2017的OData v3.0服务(特别是如何在Azure功能中使用它),以下是我为解决此问题所做的:

  • 重新安装VS2015并创建新的库项目
  • 添加新的服务引用并指向OData v3(或更早版本)服务。如果该服务需要身份验证,则此对话框将允许您输入凭据。系统提示我将其输入2x
  • 创建一个类/服务/接口,该类/服务/接口将公开您感兴趣使用该OData服务的所有相关表/查询
  • 保存项目并关闭VS2015
  • 将此项目复制到您的VS2017解决方案。在我的情况下,我有一个包含Azure函数的解决方案
  • 现在调用这个新项目/库来获取数据

  • 这是在对当前版本的各种限制和解决方法进行了许多小时的故障排除后,我能够使其正常工作的唯一方法。不用说,我对工具+VS2017当前对使用旧版本OData的支持状态非常失望。

    我也遇到了同样的问题,无法解决它。看起来icrosoft没有更新他们的工具。你可以在这个链接上尝试我的建议。查看我的答案,找到一个似乎阻力最小的解决方法。必须找到一个旧的VS版本是非常烦人的,希望他们能很快解决这个问题。