【问题标题】:WCF Data Service reference in WPF Project in VS2017VS2017中WPF项目中的WCF数据服务参考
【发布时间】:2017-08-31 10:30:33
【问题描述】:

我在 VS2017 中向我的 WPF 项目添加服务引用时遇到问题。该服务本身是使用 EntityFramework (EntityFrameworkDataService) 的 WCF 数据服务。在我之前使用的 VS2013 中,向我的 WPF 项目添加服务没有任何问题。上个月升级到VS2017,最近对WCF服务做了一些改动,需要在我的WPF项目中刷新引用。我似乎无法让它刷新,所以我删除了引用并开始尝试重新添加引用,现在我收到了以下错误消息:

无法添加指定的 OData API,因为现在 OData API 仅支持连接服务。

更多信息,请参见: https://aka.ms/odatavsclientguidance

提供的链接没有关于 VS2017 设置的任何信息。它建议使用“OData Connected Service”扩展,但该扩展不支持 VS2017(尝试过但收到“不兼容”消息)。我还找到了 VS2017 的“VS WCF 连接服务”扩展,但它似乎不支持 WPF 项目(或者至少我无法弄清楚)。

是否有人在将 WCF 数据服务引用添加到 WPF 项目时遇到此问题?我可以尝试其他任何建议吗?

【问题讨论】:

  • 您找到解决方案了吗?我也有同样的问题。

标签: wpf wcf odata wcf-data-services visual-studio-2017


【解决方案1】:

我通常通过 DataSvcUtil.exe 生成我的客户端,它是 .net 框架的一部分

例如

"%windir%\Microsoft.NET\Framework\v4.0.30319\DataSvcUtil.exe" /dataservicecollection /version:2.0 /language:CSharp /out:c:\temp\DataService.cs /uri:http://localhost:16584/DataService/

MSDN 文档: https://msdn.microsoft.com/en-us/library/ee383989(v=vs.110).aspx

【讨论】:

    【解决方案2】:

    正如 TGRA 雄辩地指​​出的那样,在撰写本文时,VS2017 的最佳选择是使用 dataserviceutil.exe。为了让我自己更简单,我做了以下事情:

    1. 在文件资源管理器中,使用如下路径导航到 datasvcutil.exe%windir%\Microsoft.NET\{{YOUR_PROCESSOR_ARCHITECTURE}}\{{YOUR_FRAMEWORKVERSION}}

    2. 按住 shift 并单击鼠标右键。选择Open Commandwindow here(如果您愿意,也可以选择命令提示符。

    3. 现在对 C# 执行类似这样的 datasvcutil.exe 命令:datasvcutil /language:Csharp /out:{{PATH_TO_PROJECT}}/{{SERVICE_NAME}}.cs /uri:{{URL_TO_SERVICE}}.svc

    4. 执行一个 datasvcutil.exe 命令,就像 Visual Basic 的那样:datasvcutil /language:VB /out:{{PATH_TO_PROJECT}}/{{SERVICE_NAME}}.VB /uri:{{URL_TO_SERVICE}}.svc

    瞧,你已经完成了。

    【讨论】:

    • 我把答案交给了 TGRA,因为它是相同的解决方案,也是第一个回答的问题。但感谢您提供更多详细信息。
    • 生成此文件后如何/在哪里使用它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2010-11-18
    相关资源
    最近更新 更多