2013-11-04 47 views
0

我有一個小問題,將Web服務的參考:我們可以食用像一個樣品的dll web服務的參考? 我的意思是這樣以下幾點:1.添加引用組件引用2.添加命名空間使用(使用爲MyWebService)3.使用它像代碼:我怎樣才能像消耗一個dll

var service = new mywebservice.Service1(); 
var result = service.GetSomething()? 

爲什麼我問的?這是因爲我嘗試過,但我得到一個「奇怪的」錯誤:無法加載程序集「MyService.dll版本,等等」。提前致謝!

+0

你能解釋一下codecompileunit究竟是如何融入這個問題?也發佈任何相關的代碼。 –

回答

1

您可以創建一個服務引用

http://msdn.microsoft.com/en-us/library/bb628649.aspx

你應該注意的是名字空間是什麼,你把你的代理下。這是命名空間,決定你應該輸入什麼,而不是「mywebservice」

+0

我的情況有點不同。我發現web服務,編譯CodeCompileUnit,保存生成的程序集。然後,我想在一些項目中重用它,但是像樣本參考。 – Sergiu

+0

好的,但只是編譯項目,並轉到您的bin文件夾並使用DLL。 –

+0

我試過了。但我無法加載它。我得到一個錯誤:「無法加載文件或程序集「Service1.dll,版本= 0.0.0.0,文化=中性公鑰= null或它的一個依賴系統找不到指定的文件。」 – Sergiu

0

是的,您可以完美地創建一個WCF服務引用(又名客戶端代理),並將其保存在一個純粹用於集中式共享的程序集中客戶端代理。這樣一來,增加了服務的時候,你就不必在更新消耗你的服務的所有項目的參考,但只是更新在裝配時參考。

請注意,如果服務引用配置爲重複使用在客戶端的代理項目中引用組件找到的類型,你還需要引用這些組件添加到您的使用客戶端代理程序集的項目。

Cannot load assembly "MyService.dll version, and so on"

這是一種症狀,通常由錯誤周圍的錯誤來解釋。如果你在你的問題中顯示了所有相關的警告和錯誤,它可能證明是非常有用的。

您可能只需要使用客戶端代理程序集爲項目添加對System.ServiceModel的引用,缺少其他程序集引用或者您的服務項目無法構建,因此它無法找到該DLL。

+0

我添加了System.ServiceModel參考...但它並不能幫助我...... – Sergiu

+0

的OP使用'CodeCompileUnit'的東西,他並沒有解釋。我相信這就是爲什麼這個問題很混亂。 –