Ne pouvait pas charger le système de fichiers ou d'assemblage.Net.Http version 4.1.1.0

je porte un NET Framework 4 dll vers le net Core. Lors du portage de mon projet de tests unitaires, j'obtiens une exception en exécutant certains tests spécifiques (pas tous).

Système.IO.FileLoadException: impossible de charger un système de fichiers ou d'assemblage.Net.Http, Version = 4.1.1.0, Culture=neutral, PublicKeyToken = b03f5f7f11d50a3a' ou l'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 ce sont 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>
23
demandé sur Jawen 2017-03-10 17:13:05

8 réponses

correction par mise à jour du système.Net.Http to 4.3.1

28
répondu Jawen 2017-08-24 17:57:42

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 provenait de ma bibliothèque de projet, et la seconde était une dépendance d'une bibliothèque standard.net, et donc un paquet Nuget. Les étapes pour résoudre étaient les suivantes:

  • Supprimer la référence à System.Net.Http (project => ajouter la référence = > supprimer la référence).