2011-05-09 51 views
0

我試圖將服務引用添加到我在解決方案中使用「引用程序集中的重用類型」選中的服務。使用現有類型添加服務引用時出錯

問題是它沒有生成任何代碼,reference.cs文件是空的,我收到一個錯誤,指出該工具無法生成我的服務引用。

有2個警告:

Custom tool warning: AssemblyResolveEvent handlers cannot return Assemblies loaded for reflection only. 

Custom tool warning: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. 

可能是什麼問題,我怎麼能解決呢? 感謝您的幫助

--edit 事實上,它看起來像VS某處找一些DLL,往往當我關閉devenv的所有實例,然後再試一次,生成成功......如果有人有一個想法,其中這個奇怪的行爲來自,我都聽到...

+1

它可以生成服務引用如果你不檢查現有各類複選框重用?如果沒有,然後右鍵單擊您的服務並選擇在瀏覽器中查看,您的服務中可能有運行時錯誤。 – BrandonZeider 2011-05-09 13:24:29

+0

是的,如果我取消選中「重複使用現有類型」,它就像魅力一樣。該服務是可訪問的,我可以通過url獲取wsdl。 – 2011-05-09 16:03:07

回答

0

對於故障排除,嘗試做同樣的事情but using the SvcUtil command line實用程序。嘗試僅使用SvcUtil與WSDL開關,以確保它將生成代理類。接下來,按照文章中所示嘗試。您可能需要添加多個-r開關以包含所需的所有DLL(即您創建的其他程序集由您的項目DLL引用)。

使用此方法,您將發現缺少的DLL或發現與現有類型的類型衝突導致SvcUtil失敗。

0

我在添加服務時遇到了類似的問題,發現我的應用程序中已經存在對舊服務的引用。我試圖刪除引用並得到相同的錯誤。所以我刪除了錯誤中引用的app.config部分,並再次刪除了引用,並且這次它工作。之後,添加參考工作正常。我也在重複使用引用,並且引用了已更新的DLL,這可能是原因。

反正誰使用WCF時下:-)

相關問題