Impossible de charger le fichier ou l'assembly System.Net.Version Http 4.1.1.0
Je suis portage d'un Net Framework 4 dll Net de Base.
Lors du portage de mes tests unitaires projet, j'obtiens une exception à l'exécution de certains tests spécifiques (pas tous).
Système.IO.FileLoadException: impossible de charger le fichier ou l'assembly 'Système.Net.Http, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ou une de ses dépendances. L'assemblée manifeste définition ne correspond pas à la référence d'assembly. (Exception de HRESULT: 0x80131040)
C'est le projet.json pour ma dll
{
"version": "1.0.0-*",
"dependencies": {
"log4net": "2.0.7",
"NETStandard.Library": "1.6.1",
"Newtonsoft.Json": "9.0.1",
"StackExchange.Redis": "1.2.1"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
}
}
Et c'est des Paquets.config pour les tests unitaires projet
<packages>
<package id="Castle.Core" version="4.0.0" targetFramework="net462" />
<package id="log4net" version="2.0.7" targetFramework="net462" />
<package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="net462" />
<package id="Moq" version="4.7.1" targetFramework="net462" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net462" />
<package id="StackExchange.Redis" version="1.2.1" targetFramework="net462" />
<package id="System.Diagnostics.DiagnosticSource" version="4.0.0" targetFramework="net462" />
<package id="System.IO" version="4.1.0" targetFramework="net462" />
<package id="System.IO.FileSystem" version="4.0.1" targetFramework="net462" />
<package id="System.IO.FileSystem.Primitives" version="4.0.1" targetFramework="net462" />
<package id="System.IO.FileSystem.Watcher" version="4.0.0" targetFramework="net462" />
<package id="System.Linq" version="4.1.0" targetFramework="net462" />
<package id="System.Net.Http" version="4.1.1" targetFramework="net462" />
<package id="System.Net.NameResolution" version="4.0.0" targetFramework="net462" />
<package id="System.Runtime" version="4.1.0" targetFramework="net462" />
<package id="System.Runtime.Extensions" version="4.1.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Algorithms" version="4.2.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Encoding" version="4.0.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Primitives" version="4.0.0" targetFramework="net462" />
<package id="System.Security.Cryptography.X509Certificates" version="4.1.0" targetFramework="net462" />
<package id="System.Text.RegularExpressions" version="4.1.0" targetFramework="net462" />
<package id="System.Threading.Thread" version="4.0.0" targetFramework="net462" />
</packages>
- Essayez
dotnet restore
- toujours pas
- vérifier la liaison redirections ou supprimer rajoutait des références. vérifier nuget regrouper ainsi.
Vous devez vous connecter pour publier un commentaire.
Qu'il est corrigé par la mise à jour du Système.Net.Http pour 4.3.1
J'ai eu le problème, et réalisé que c'était parce que j'avais deux références différentes.
une référence est à partir de ma bibliothèque de projet, et la deuxième était une dépendance de l'un .Net de la bibliothèque Standard, et donc un package Nuget.
Les étapes pour résoudre étaient les suivantes:
System.Net.Http
(projet => ajouter une référence => supprimer la référence).Update-Package –reinstall System.Net.Http
de ramener la référence.Maintenant il fonctionne à nouveau. 🙂
Mon problème était que mon service, il y avait un assemblage qui avait une référence à une version plus récente du Système.Net.Http.
J'ai résolu le problème en mettant à jour le Système.Net.Http dans le service.
J'ai eu ce problème, alors que j'avais 10 projets en fonction les uns des autres.
J'ai corrigé que par l'ajout de la version qu'il a demandé à l'un des projets qui a été tributaire.
Il n'était pas nécessaire pour la compilation, mais il semble que l'ajout d'elle, fixe la version dans d'autres projets lors de la restauration.
Il était donc:
Alors:
J'ai donc ajouté
"Le système de.Net.Http": "4.1.1",
dans un projet..
Qui a effectivement résolu le problème alors qu'il a restauré 8 projets.
Je suis d'accord avec Jean. Supprimer la référence à l'assemblée, puis ajouter une nouvelle référence via Nuget! Le Système réel.Net.Version Http n'a pas d'importance.
Après la suppression de la référence à l'assemblée, tout fonctionne très bien, la version 4.3.2
La plus simple et la meilleure façon de résoudre ce problème, est avec une liaison de redirection.
Il suffit de préciser le oldVersion comme 0.0.0.0-5.0.0.0, et nouvelleversion comme 4.1.1.0
Où 4.1.1.0 est vous version, par exemple.
Et maintenant le programmeur junior solution.... vérifiez pour vous assurer que vous faites les mises à jour suggérées par Jawen et Jean dans le Gestionnaire de Package Nuget dans les endroits corrects aussi. Rappelez-vous que vous pourriez avoir une solution à votre projet et un projet de test, et ainsi de double vérification pour mettre à jour les deux ensembles de Références.
Aller à l'app.config et supprimer toutes les lignes, que le Système de référence.Net.Http.