web-dev-qa-db-fra.com

Impossible de charger le fichier ou l'assembly 'Newtonsoft.Json' Version = 11.0.0.0

J'ai lu beaucoup de réponses aux versions précédentes de ce numéro mais aucune ne semble fonctionner.

Chaque fois que j'ouvre mon composant de script dans Visual Studio 2015 (v14.0.25431.01 update 3), cela me dit qu'il me manque une référence à Newtonsoft.Json. Je vais donc dans NuGet Package Manager et il me demande de restaurer ce que je fais et dit que cela se termine avec succès.

Ensuite, je sauvegarde et essaie d’exécuter mon package SSIS afin d’obtenir l’erreur suivante.

Impossible de charger le fichier ou l'assembly 'Newtonsoft.Json, Version = 11.0.0.0, Culture = neutre, PublicKeyToken = 30ad4fe6b2a6aeed 'ou l'un de ses dépendances. Le système ne peut pas trouver le fichier spécifié.

mon fichier packages.config ressemble à ceci.

    <?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Newtonsoft.Json" version="11.0.1" targetFramework="net45" />
</packages>

et mon fichier app.config ressemble à ceci.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
      <dependentAssembly>
      <assemblyIdentity name="Newtonsoft.Json"
                publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
      <bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

Je peux naviguer dans le dossier qu'il recherche et voir le fichier .dll

C:\Utilisateurs\lp1.db\AppData\Local\Temp\Vsta\SSIS_SC130\VstaGbmf__V5kCUWonnRT2qrG_g\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll

Quelqu'un d'autre at-il eu ce problème permanent avec la perte de la possibilité de retrouver le fichier en dépit de sa configuration?.

15
Lucas Perrett

Supprimez toutes les références à Newtonsoft.Json dans tous vos projets.

Allez dans Nuget Package Manager (clic droit sur la solution), téléchargez la dernière version de Newtonsoft.Json, sélectionnez tous les projets et utilisez-le puis réinstallez-le.

Assurez-vous que packages.config a la dernière version:

<packages>
  <package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
</packages>

Reconstruire la solution.

5
live-love

C'est l'un des problèmes les plus courants dans les projets .NET. En gros, quelqu'un a fait directement référence à un assemblage local au lieu de gérer le package via NuGet ou le projet a été compilé dans une version .NET différente .. La meilleure façon de résoudre ce problème consiste à localiser la référence dans vos références de projet supprimez-le, nettoyez le projet, vérifiez si la balise DLL a disparu et refaites la référence à l'aide de NuGet.

2
Balbinator

J'avais un problème similaire lorsque j'avais deux projets différents dans la même solution, l'un d'eux faisant référence à la version 11.0.2 et l'autre à la version 6.0.4. Si tel est le cas, essayez de conserver la même version pour les deux et réessayez.

0
Krishna_Anipindi

Essayez de copier NewtonSoft.Json dans le dossier SQL SSIS Runtime

C:\Program Files (x86)\Microsoft SQL Server\[SQL Server version]\DTS\Binn

exemple (SQL Server 2016)

C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn
0
Hadi

Essayez de nettoyer votre projet. 

Nettoyer le projet dans Visual Studio

Si cela ne fonctionne pas, supprimez la référence sous références. Enregistrez le fichier dll dans votre dossier bin, puis ajoutez-le à nouveau. Parcourez votre fichier, sélectionnez-le et cliquez sur OK.

0
Sam