Impossible de charger le fichier ou l'assembly 'Microsoft.Practices.Unity'
Je suis en train de mettre à niveau Unity
à la version (2.1.505.2), mais quand je lance l'application j'ai le FileLoadException
N'a pas pu charger le fichier ou l'assembly " Microsoft.Les pratiques.L'unité,
Version=2.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
ou une de ses dépendances.
Nous sommes la mise à niveau de l'Unité 2.0.414.0 à 2.1.505.2.
- Toutes les références de projet dans la solution qui se réfèrent à l'Unité reportez-vous à la bonne version de la dll
- Il n'y a pas d'Unité dll référencée dans le Gac. (double vérification par la vérification de
gacutil -l
) - Que j'ai retiré de l'Unité dll à partir de l'archive. Double vérification avec powershell
PS C:\> ls -rec -inc Microsoft.Practices.Unity.dll | foreach-object { "{0}`t{1}" -f $_.FullName, [System.Diagnostics.FileVersionInfo]::GetVersionInfo($_).FileVersion }
Comment puis-je savoir ce que /qui fait toujours référence à l'Unité 2.0.414.0?
FusionLogVw ne me dites pas DLL qui est à l'origine du problème.
Toute aide est très appréciée!
source d'informationauteur bas
Vous devez vous connecter pour publier un commentaire.
Le problème a été une autre dll Microsoft qui fait référence à l'ancienne version de l'unité. Je ne la trouve être un accident vérifier les espaces de noms de chaque référencé dll, et a trouvé une autre dll, qui contenait des espaces de noms avec "l'unité".
Mise à jour:
les dernières versions de résoudre le problème.
J'espère que je vous enregistrez le jour pour une âme perdue qui est aussi en tirant sur ses cheveux sur ce problème... 🙂
Vous devez ajouter rediriger vers un montage correct:
Mais NOTER que la version 2.1.505.0 devrait être utilisé dans la réorienter!
Vous ne pouvez pas définir 2.1.505.2 en raison de la prochaine raison:
L'unité de l'assemblée 2.1.505.2 contient différentes versions pour AssemblyFileVersion et AssemblyVersion.
CLR ne se soucie pas de AssemblyFileVersion donc seulement AssemblyVersion est utilisé!
Et AssemblyFileVersion est utilisé uniquement par nuget!
Vérifier votre application.config/web.config et bien sûr, vos références de projet.
Depuis votre nouvelle question est au sujet de trouver existants dépendances sur un assemblage, vous pouvez vous référer à cette question:
Comment trouver ce qui dépend d'une version spécifique de spécifique de dépendance?
Qui se réfère à l'utilisation Fuslogvw.exe
Si vous avez resharper, vous pouvez supprimer le problème de référence, la construction, le goto la classe où il est utilisé(il y a une erreur) et obtenir resharper à le corriger pour vous.
Enregistre tourner en rond, mais j'apprécie pas tout le monde a resharper 😀
Vue d'ensemble:
c'était quelqu'un de code que j'ai eu à corriger un bug dans le code, donc ils m'ont fourni un fichier zip de l'application.
Je n'avais aucune Idée de ce qui se passait et pourquoi toujours pour la première fois mon code est en cours d'exécution et après redémarrage de l'application (toutes modifications) il lancer une Exception.
il y a beaucoup de solution possible fournies dans les forums et je blâmais mon code & base de données, puis a commencé à défaire chaque étape que j'ai fait. Mais ça n'aide pas
Solution:
Comme plusieurs résoudre ne pouvez pas fixer ce
mais quand j'ai recommencé à étudier chaque n de chaque chose de beaning pour trouver la vraie raison qui est à l'origine de l'exception, que j'ai trouvé est
Pour chaque nouvelle version, mon dossier bin de l'application de la suppression de la dll
résultat: tous les sh*t disparu.