Visual Studio 2010 UnresolvedAssemblyException: Type d'univers ne peut pas résoudre assemblée: log4net
Récemment, j'ai commencé à rencontrer des exceptions dans Visual Studio 2010 concepteur WPF apparemment en raison de log4net. Si je fraîchement construire mon projet, le fichier XAML apparaît correctement dans le concepteur. Ensuite, une fois que je commence à cliquer sur des boutons pour sauter dans le code XAML, cette exception devient rapidement jeté:
System.Reflection.Adds.UnresolvedAssemblyException
Type universe cannot resolve assembly: log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821.
at System.Reflection.Adds.AssemblyProxy.GetResolvedAssembly()
at System.Reflection.Adds.AssemblyProxy.GetHashCode()
continues...
Le problème ne disparaît quand j'enlève le log4net de référence. C'est aujourd'hui le deuxième projet d'exposer ce problème. Quelqu'un d'autre a vu cela et/ou trouvé une solution?
Remarque: je suis en utilisant .NET 4 (pas le Profil du Client) et j'ai basculé Version Spécifique sur la log4net de référence T/F en vain.
Pas de site web.de config, activé Version Spécifique dans le VS IDE fenêtre de propriété
OriginalL'auteur Pakman | 2011-05-02
Vous devez vous connecter pour publier un commentaire.
J'ai réussi à résoudre le problème après:
Trouver ce blog où l'auteur a résolu une situation similaire en plaçant la non-résolution de l'assemblée dans le Assemblées Publiques dossier (trouvé à l'aide de k3b est fuslogvw outil)
De la rencontre d'un
FileLoadException
qui m'a conduit à cette SORTE de post.De télécharger une nouvelle copie de log4net, déblocage le fichier zip, et le remplacement de la référence à VS et les Assemblées Publiques dossier.
Mais, je ne sais toujours pas pourquoi j'ai dû placer cette assemblée dans les Assemblées Publiques dossier. Toutes les autres assemblées, j'référence n'avez pas besoin de cette étape.
Qu'est-ce que la "première solution" - à l'aide de Fuslogvw.exe que k3b mentionné?
OriginalL'auteur Pakman
Vous pouvez utiliser le bouton "Assemblée de Liaison de la Visionneuse du Journal" (Fuslogvw.exe) qui appartient à la dotnet sdk pour trouver la dll est chargée quand et pourquoi . Si la journalisation est activée, il peut vous montrer des assemblées qui sont chargés et que l'assemblée causés à se charger.
Pour les détails, voir http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs. 80).aspx
Parfois la dll est là, mais dans la mauvaise version.
si vous incluez universe.dll dans votre projet, vous devez également inclure log4net.dll avec copie locale=true
The operation failed. Bind result: hr = 0x80070002. The system cannot find the file specified.
Ce message s'affiche à chaque ouverture de session pour chaque référence DLL si je inclure/exclure log4net avec aucune autre info qui semble révélateur.le journal doit contenir info: Quelle dll requis log4net.dll et où la recherche a eu lieu. est log4net.dll dans l'un des répertoires recherchés? avez-vous inclus log4net.dll avec copie locale=true dans l'interface graphique du projet?
J'ai changé mes paramètres pour se connecter à un chemin d'accès personnalisé et "Journal de lier les défaillances de disque". Auparavant, j'ai été la journalisation de toutes les lie. Maintenant, quand je travail dans VS et le UnresolvedAssemblyException se produit, aucune erreurs apparaissent dans fuslogvw! Je peux reconstruire l'expérience d'exception à plusieurs reprises et fuslogvw ne détecte aucun lier les erreurs...
log4net.dll n'est pas dans l'un des répertoires recherchés, et j'ai basculé Copie Locale sans effet.
Comment je pourrais essayer de le trouver: Quit Vs2010; début de la Fuslogvw.exe (sur win7 en tant qu'administrateur). Sélectionnez "Journal de lier les défaillances de disque". Re-démarrer Vs2010. après les erreurs se produisent appuyez sur "Actualiser" dans Fuslogvw. Maintenant, vous pouvez voir l'erreur.
OriginalL'auteur k3b
Ajouter le chemin d'accès à votre assemblée, "log4net" dans les Propriétés du Projet/les Chemins de références.
http://msdn.microsoft.com/en-us/library/6taasyc6(v=VS.100).aspx
Vous pouvez créer un seul .Les objectifs de fichier qui est votre référence pour le log4net de l'assemblée. Dans chaque projet, vous pouvez ensuite importer le .Les objectifs de fichier, de cette façon, vous pouvez contrôler les références communes à partir d'un seul point.
OriginalL'auteur midspace
S'avère quand nous avons eu ce problème, c'était parce que les chemins que nous avons utilisé pour ajouter les références.
Nous sommes à l'aide de quelques personnalisé ".les cibles" des fichiers qui définissent les références. Il y a beaucoup de mélanges de dépendances avec les projets, et en utilisant le .objectifs de fichiers permet de garder les références définies dans un seul endroit.
Bien, les références HintPath fini quelque chose comme...
Lorsque nous avons retiré le double blackslash, en remplaçant unique "\", "Visual Studio 2010 UnresolvedAssemblyException: Type d'univers ne peut pas résoudre assemblée" erreur de s'en alla.
C'est comment devrait ont été.
OriginalL'auteur midspace
De s'assurer que votre code s'exécute au moment de la conception, ainsi que de l'exécution. Si votre code s'exécute au moment de la conception, ne supposez pas que l'Application.Le courant est de votre application. Par exemple, lorsque vous utilisez l'Expression Blend, Actuelle est l'Expression Blend. Les opérations typiques qui cause un contrôle personnalisé à l'échec au moment de la conception sont les suivantes.
http://msdn.microsoft.com/en-us/library/ff356886%28v=vs.95%29.aspx
donner un essai à ce. l'ajouter à la beginig de vos fonctions:
OriginalL'auteur Heyjee