繁体   English   中英

当被其他类库访问时,类库中消耗的WCF服务给出“找不到端点元素……”错误

[英]WCF Service consumed in Class Library, when accessed by other Class Library gives “Could not find endpoint element…” Error

我有一个包含三个项目的解决方案:

  1. WPF应用
  2. 类库
  3. NUnit测试类库

类库具有在app.config中生成以下内容的服务引用:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <bindings>
      etc, etc
    </bindings>
    <client>
      <endpoint address="http://localhost:8088/myService                
          binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_myService"
          contract="Namespace.myService" name="BasicHttpBinding_myService" />
    </client>
  </system.serviceModel>
</configuration>

类库具有访问这些服务,检索数据并将其打包以在WPF应用程序中使用的功能。 app.config文件从类库复制到WPF应用程序项目后,WPF应用程序可以使用类库中的数据访问功能而没有任何问题(在复制app.config之前,我得到了“找不到默认端点”尝试从WPF应用程序调用这些方法时出现错误消息)。

当尝试在测试库中调用完全相同的函数并从NUnit运行它们时,出现类型为“在servicemodel客户端配置部分找不到引用合约的默认端点元素”的错误。 其他帖子建议确保app.config文件在测试项目中-但是在我这样做之后,它仍然给出相同的错误消息。 我该如何进行这项工作?

问题不在于项目的设置,而在于NUnit项目的设置。

设置NUnit项目时,我使用了“项目”>“添加程序集”工具栏选项将程序集添加到NUnit项目中(使用NUnit GUI)。 此时,NUnit在与我保存NUnit项目设置相同的目录中寻找配置文件。 这导致错误,在需要时找不到配置设置。

通过在NUnit GUI中转到“项目”>“编辑”,然后将“项目库”设置为测试项目的\\ bin目录,将“配置文件名”设置为项目的配置文件的文件名,可以解决此问题。 之后,NUnit现在可以在运行测试时找到正确的配置文件,从而解决了该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM