【问题标题】:Why, when adding a service reference in VS2010, is the client class not generated?为什么在VS2010中添加服务引用时,没有生成客户端类?
【发布时间】:2011-05-10 22:16:58
【问题描述】:

我要疯了,我相信。

也就是说,我以前从未遇到过这样的问题,而且似乎没有人(Google 已编入索引)遇到过同样的问题。

每当我向 VS2010 项目添加对特定 ASMX 服务的引用时,都会生成所有代码,有一个接口 ServiceSoap 表示该服务的所有功能,但没有具体的实现解决方案中任何地方的接口!

我做错了什么?我只是right click projectadd service referencepaste url to .asmxtype 'Blah' in the namespace boxclick OK

一切似乎都正常。我只是疯了,我猜...


更新:
如果我在添加服务引用对话框中转到Advanced...,并选择将其添加为 .NET 2.0 服务,一切正常,但我并不特别想这样做。
我使用的实际命名空间是Remedy,服务.asmx 文件是Service.asmx

【问题讨论】:

  • 而不是“添加引用”,为什么不使用命令行工具从 .asmx 生成类文件?这就是我更喜欢做的事情,即使这意味着失去自动更新参考的能力。但是,如果参考经常更改,您可能还有其他问题需要考虑,是吗?
  • 但是不,我没有你描述的那个问题。

标签: c# visual-studio-2010 asmx


【解决方案1】:

试试这个...

右键单击服务参考。然后去配置服务参考。然后取消选中引用程序集中的重用类型复选框。 更新

这解决了我的问题,希望对其他人也有帮助

【讨论】:

    【解决方案2】:

    试试这些步骤:

    1. 在“输出”窗口中查看使用“添加服务参考”时是否有任何错误。
    2. 查看 Reference.cs 以查看是否有任何错误(生成为 cmets)。
    3. 最后,尝试使用 svcutil.exe 生成代理,因为这样更容易看到错误消息。

    【讨论】:

      【解决方案3】:

      您是否尝试过点击“显示所有文件”?

      启用此功能后,服务参考可以扩展到其各种“源”文件。

      【讨论】:

      • @John - 我通过阅读您的问题了解以下内容:当您将服务引用添加到 .asmx Web 服务时,您找不到实现包含所有 Web 方法定义的 RemedyServiceSoap 接口的类.到目前为止我是正确的,还是我误解了?
      • 不,据我所知,没有生成类。如果它在那里,我知道如何找到它,但似乎没有。我将编辑问题以澄清。
      • @John - 好的,我现在明白了。之前的标题确实很混乱。
      【解决方案4】:

      同时单击“显示所有文件”图标。还有另一个文件夹,它们具有相同的名称。删除文件夹时。并清洁溶液。添加具有相同名称的新服务。 现在它工作正常。

      【讨论】:

        【解决方案5】:

        右键单击引用,然后-“在对象浏览器中查看”只需双击对象浏览器中的方法/属性之一。

        【讨论】:

        • 什么?好的,是的,已经确认它是一个接口,而不是一个类......这应该有帮助吗?
        • 对不起,我误会了。我以为您在问如何从服务参考中查看生成的代码。
        猜你喜欢
        • 1970-01-01
        • 2011-03-01
        • 1970-01-01
        • 2011-01-19
        • 2012-10-24
        • 2013-09-08
        • 2013-05-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多