[英]WCF Service consumed in Class Library, when accessed by other Class Library gives “Could not find endpoint element…” Error
我有一个包含三个项目的解决方案:
类库具有在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.