Impossible de charger le fichier ou l'assembly 'Système.ComponentModel.Les Annotations, Version=4.1.0.0
J'ai un .NET Standard 1.4 classe de la bibliothèque qui fait référence au Système.ComponentModel.Annotations (4.3.0) package NuGet.
Je suis ensuite référencement de cette classe de la bibliothèque de la .NET Framework 4.6.2 projet de test. Elle construit très bien, mais à l'exécution j'obtiens l'erreur suivante:
Système.IO.FileLoadException eu lieu HResult=0x80131040
Message=n'a pas Pu charger le fichier ou l'assembly
'Système.ComponentModel.Les Annotations, Version=4.1.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a' ou une de ses dépendances. L'
situé à l'assemblée manifeste définition ne correspond pas à l'assemblée
de référence. (Exception de HRESULT: 0x80131040)
J'ai essayé d'ajouter une référence au Système.ComponentModel.Annotations (4.3.0) NuGet package à partir de la net462 projet, mais qui n'a fait aucune différence.
J'ai essayé d'ajouter une référence à l' .NET de la bibliothèque Standard de la net462 projet, mais toujours pas de chance.
Suis-je manqué quelque chose? Est-ce un bug connu, si oui, est-il un travail?
Toute aide est très appréciée!
Pour quelqu'un manquant Version=4.2.0.0: Installation de Système.ComponentModel.Annotations 4.4.1 de NuGet Galerie fixe pour moi.
Merci beaucoup!
Le problème semble s'aggraver de nouveau .Net de Base 2.1 (utilisé en combinaison avec d' .Net 4.7.1). Système.ComponentModel.Annotations 4.5.0 ne semble pas être en mesure de trouver la Version=4.2.0.0 pas plus, vous forçant à revenir à bindingRedirect oldVersion="4.2.0.0" nouvelleversion="4.0.0.0"/>. Étrange que Microsoft est apparemment pas en mesure de résoudre ce problèmes avec le Système.ComponentModel.Les Annotations. Ils sont déjà là depuis près de deux ans.
vous suggestion n'a pas fonctionné pour moi, mais d'une adaptation de l'un. J'ai fini avec
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.1.0" />
qui a réglé le problème.OriginalL'auteur Dan Ellis | 2017-05-18
Vous devez vous connecter pour publier un commentaire.
Dans de nombreux cas, cela peut être résolu en ajoutant le fichier csproj de votre projet de test:
Cela force le processus de création pour créer un
.dll.config
fichier dans le répertoire de sortie avec la nécessaire liaison redirections.La raison en est que "classique" csproj projets de test sont de véritables "bibliothèques" et ne sont pas considérées besoin de liaison redirige par défaut. Mais l'exécution des tests unitaires. Cela ne devient un problème que si des projets référencés besoin de ces redirections pour fonctionner correctement. C'est généralement quand il s'agit de l'installation de tous les packages NuGet que la bibliothèque référencée utilise, mais avec la nouvelle
PackageReference
style de packages NuGet, il ne le fait pas.Voir d'autres cas où ce correctif a permis de:
Impossible de charger le fichier ou l'assembly Microsoft.Extensions.DependencyInjection.Les Abstractions, Version=1.1.0.0
Lors de l'utilisation .Net Standard 1.4 dans une bibliothèque et .Net framework 4.6.1 et de l'application, impossible de charger le fichier Système.IO.Système De Fichiers, Version=4.0.1.0
Je peux confirmer que cela ne fonctionne pas .Net 4.6.1 web apps.
À ma solution de WPF WCF - SQL server - j'ai changé dans l'app.config <dependentAssembly> <assemblyIdentity nom="le Système de.ComponentModel.Annotations" publicKeyToken="b03f5f7f11d50a3a" culture="neutre" /> <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" nouvelleversion="4.5.0" /> </dependentAssembly>
Le problème ici est que, dans certaines solutions plus complexes autogenerating la BindingRedirects ne fonctionne pas correctement pour que le Système".ComponentModel.Annotations", de sorte que votre suggestion est utile en général, mais dans ce cas, manque le point.
Cela a bien fonctionné pour moi .net 4.7.1
OriginalL'auteur Martin Ullrich
J'ai eu le même problème, mais aucune des réponses ci-dessus, m'a aidé. Il s'avère que la solution est très simple, je viens d'exécuter la commande suivante dans le Gestionnaire de paquets:
Install-Package De Système.ComponentModel.Annotations -Version 4.1.0
Au moment de la rédaction, j'ai eu à utiliser la Version 4.4.1
OriginalL'auteur Lukasz Cokot
Dans mon cas, j'ai été en utilisant 4.0.0, donc je l'ai corrigé en ajoutant dans
S'adapter à votre version requise.
merci pour moi, c'était <bindingRedirect oldVersion="4.2.0.0" nouvelleversion="4.2.1.0"/>
Dans mon cas, j'ai créé l'application de la console .NET Framework 4.7.2, à l'origine avec une application.config transformationsm (pour Debug/Release), puis ajout de Microsoft,EntityFrameworkCore.Sqlite 2.1.4 package NuGet, (VS 2017 15.8.5). Il m'a fallu un petit peu plus longtemps pour le savoir, que l'application existante.config transformations en quelque sorte cassé la liaison des redirections lors de l'exécution. (Après avoir retiré les transformations, il a été de commencer à travailler)
OriginalL'auteur Guillaume
Pour moi, aucune des autres solutions n'a fonctionné.
J'ai résolu ce problème en ajoutant manuellement une référence à
System.ComponentModel.DataAnnotations
moi-même (par l'intermédiaire du projet -> Références), plutôt que de laisser Visual Studio poignée par l'intermédiaire de l'ampoule quick-fix menu.OriginalL'auteur Rich
Ai eu de travail en utilisant assembly de redirection comme décrit dans:
il suffit d'invoquer
FunctionsAssemblyResolver.RedirectAssembly()
dans le début de votre programme.https://stackoverflow.com/a/50776946/2705777
OriginalL'auteur Neil