[英]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.