2012-01-24 31 views
1

這樣做:MEF:無法加載文件或程序集「Facebook的

var _partsCatalog = new DirectoryCatalog(directoryName);//Fully qualified path to our bin folder 
    var partInfos = partsCatalog 
       .Parts 
       .Select(pd => new PartDefinitionInfo(pd)) 
       .ToArray(); <<-- this throws 

拋出一個異常:「無法加載請求的類型中的一種或多種檢索LoaderExceptions屬性的更多信息。」與設置爲LoaderExceptions:

{「無法加載文件或組件的Facebook,版本= 5.4.1.0, 文化=中性公鑰= 58cb4f2111d1e6de」或它 依賴性一項所述的系統無法找到。指定的文件。「: 」Facebook的, 版本5.4.1.0 =文化=中性公鑰= 58cb4f2111d1e6de「}

當然,我的組件之一引用Facebook.Web.dll中,這會導致它被複制到bin文件夾中,這會導致它成爲目錄編目的一部分,有點無意中,但stil ...

但是,爲什麼會拋出這個錯誤?

+1

我對Facebook的api並不是很熟悉,但是......您的bin文件夾中是否還有Facebook.dll? Facebook.Web.dll可能對Facebook.dll有依賴性。此外,獲取更多細節的一種方法是使用Fusion日誌查看器。這裏有一篇關於如何使用它的好文章。 http://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx –

+0

缺少參考。你應該先找到造成這個問題的人。我在我的項目中使用了一個directorycatalog,並過濾掉一些dll。 – blindmeis

回答

3

當然,我的一個組件被引用Facebook.Web.dll中

Getting Started指南: 「加入Facebook.dll和Facebook.Web.dll中引用」。你需要參考兩者。

但是,爲什麼會拋出這個錯誤呢?

錯誤消息說,這一切:有些事情上Facebook.dll的依賴,但.NET運行時無法加載該DLL,因爲它無法在bin文件夾中找到它:「系統無法找到指定文件「。

相關問題