2012-01-24 2 views
1

Faire ceci:MEF: Impossible de charger le fichier ou l'assembly « 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 

lance une exception: «Impossible de charger un ou plusieurs des types demandés Récupérer la propriété LoaderExceptions pour plus d'informations. » avec les LoaderExceptions modifiee:

{ "Impossible de charger le fichier ou l'assembly 'Facebook, Version = 5.4.1.0, Culture = neutral , PublicKeyToken = 58cb4f2111d1e6de' ou une de ses dépendances Le système ne peut pas trouver. fichier spécifié. ": "Facebook, version = 5.4.1.0, Culture = neutral, PublicKeyToken = 58cb4f2111d1e6de"}

Accordée, l'un de mes ensembles fait référence à la Facebook.Web.dll, qui l'amène à être copié dans le dossier bin, ce qui le fait faire partie du catalogue d'annuaires, un peu involontairement, mais ...

Mais pourquoi lancer cette erreur?

+1

Je ne suis pas vraiment familier avec l'API Facebook, mais ... Facebook.dll est-il également dans votre dossier bin? Facebook.Web.dll peut avoir une dépendance sur Facebook.dll. En outre, un moyen d'obtenir plus de détails à ce sujet est d'utiliser Fusion Viewer View. Voici un bon article sur la façon de l'utiliser. http://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx –

+0

Il manque une référence. vous devriez d'abord trouver celui qui cause ce problème. J'utilise un catalogue d'annuaire dans mon projet et filtre certaines dll. – blindmeis

Répondre

3

Certes, l'un de mes assemblées fait référence à la Facebook.Web.dll

Depuis le Guide Getting Started: "Ajouter des références à Facebook.dll et Facebook.Web.dll". Vous devez référencer les deux.

Mais pourquoi lancer cette erreur?

Le message d'erreur qui dit tout: quelque chose a une dépendance à l'égard Facebook.dll, mais le moteur d'exécution .NET n'a pas pu charger cette dll, car il ne peut pas le trouver dans le dossier bin: "Le système ne peut pas trouver le fichier spécifié ".

Questions connexes