首页 > 解决方案 > 向 VS 添加 WSDL 服务引用失败,因为生成的 xsd 文件包含 TFS 的非法字符

问题描述

我有一个在 TFS 上的解决方案。我正在尝试添加一个 WSDL 作为对它的服务引用。

WSDL 的 URL 如下所示:“.../ws/soap;auth=...”

添加引用时,VS 将生成所有需要的 xsd 文件,并且 xsd 文件名将使用 URL 作为其名称。生成它时,TFS 会尝试自动添加文件,此时它会检测到我有一个带有非法字符“;”的 .xsd 文件 作为它的名称,然后整个服务引用生成失败并停止。

我尝试将 wsdl 添加到未绑定到 TFS 的解决方案中,并且效果很好。

任何解决方法?如果生成的 xsd 包含 TFS 不接受的非法字符,如何将 wsdl 作为服务引用添加到我的解决方案?

标签: visual-studiowcf

解决方案


您可以使用 svcutil 生成代理类,svcutil 是一个 .NET 工具,可从网络位置上的 Web 服务或 WSDL 文件中检索元数据,并生成包含访问 Web 服务操作的客户端代理方法的 WCF 类。

您可以在 VS 的命令行界面上使用此工具: 在此处输入图像描述

执行上述命令会在D盘上生成一个代理类和配置文件,然后将这两个文件添加到你的项目中: enter image description here

这是一个关于 svcutil 的链接:

https://docs.microsoft.com/en-us/dotnet/core/additional-tools/dotnet-svcutil-guide?tabs=dotnetsvcutil2x


推荐阅读