【问题标题】:Error adding service reference using existing types使用现有类型添加服务引用时出错
【发布时间】:2011-05-09 12:13:27
【问题描述】:

我正在尝试向我的解决方案中的服务添加服务引用,并选中“引用程序集中的重用类型”。

问题是它没有生成任何代码,reference.cs 文件为空,并且我收到一条错误消息,指出该工具无法生成我的服务引用。

还有 2 个警告:

Custom tool warning: AssemblyResolveEvent handlers cannot return Assemblies loaded for reflection only.

Custom tool warning: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

可能是什么问题,我该如何解决? 感谢您的帮助

--编辑 事实上,看起来 VS 在某处寻找一些 dll,通常当我关闭 devenv 的所有实例并重试时,生成成功......如果有人知道这种奇怪行为的来源,我都会听到...... .

【问题讨论】:

  • 如果不勾选reuse existing types复选框,是否可以生成服务引用?如果没有,请右键单击您的服务并选择在浏览器中查看,您的服务可能存在运行时错误。
  • 是的,如果我取消选中“重用现有类型”,它就像一个魅力。服务是可访问的,我可以通过url获取wsdl。

标签: wcf visual-studio-2010


【解决方案1】:

对于故障排除,请尝试执行相同的操作 but using the SvcUtil command line 实用程序。尝试仅使用带有 WSDL 开关的 SvcUtil 以确保它将生成代理类。接下来,按照文章所示尝试一下。您可能需要添加多个 -r 开关以包含所需的所有 DLL(即您创建的其他项目 DLL 引用的程序集)。

使用这种方法,您将发现丢失的 DLL,或者发现您与现有类型存在类型冲突,导致 SvcUtil 失败。

【讨论】:

    【解决方案2】:

    我在添加服务时遇到了类似的问题,发现我引用了一个旧服务,而该旧服务已不再存在于我的应用程序中。我试图删除引用并得到同样的错误。所以我删除了错误中提到的 app.config 部分并再次删除了引用,这一次它起作用了。之后添加参考工作正常。我还重用了引用,并且引用了已更新的 DLL,也许这就是原因。

    现在任何使用 WCF 的人 :-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 2012-04-22
      • 2010-12-21
      • 2011-01-19
      • 1970-01-01
      相关资源
      最近更新 更多