我有一个C# WCF项目。
它有 2 个 SVC 文件。 Invoices.svc 和 Statement.svc.
它的编译和构建没有问题。
语句继承自 IStatements,所有方法/结果都通过单独的语句命名空间。
尽管如此,当我针对 Statement.svc 文件调用 wsdl 时,它会再次返回发票类。
C# 项目加载的 SVC 文件可能与您请求的 SVC 文件不同的原因是什么?
我被难住了。
您必须已复制粘贴 svc 文件,以便一个 svc 引用另一个服务类。 检查 svc 文件的内容。
服务没有任何问题。添加服务引用时,默认情况下,WCF 将查看您的项目,如果它找到与 WSDL 中的属性相同的类,则将重用它们,而不是创建新类。
如果这两个服务都具有与 DataContract 具有相同属性的类,则要在客户端应用程序中添加的第二个服务将使用第一个服务的生成类,因为它们匹配并且可以重用。
若要更改此行为(VS 2012 或 2013),您需要执行此操作,在添加服务引用时单击"高级",然后选择第二个单选按钮"重用指定引用程序集中的类型",然后检查所有系统程序集,而不检查您自己的项目。然后引用将创建它自己的类。
抱歉,鉴于信息一开始有些模糊,在这种情况下的问题并不是迄今为止所建议的。
问题原来是 Statement.SVC XML 文件包含对 IInvoices 的引用。 这是解决方案资源管理器默认不显示的一个文件,所以我以为我更新了所有引用,但我没有。
谢谢你的帮助。 我认为这个问题不应该被删除,因为它确实提供了检查 SVC XML 文件以获取参考的建议。
谢谢。