2017-08-25 14 views
1

Le problèmeLes paquets manquants sur TFS Création du serveur

Mon construit garder à défaut en raison de »

C: \ Program Files (x86) \ MSBuild \ 14.0 \ bin \ amd64 \ Microsoft.Common .CurrentVersion.targets (1820): Impossible de résoudre cette référence Impossible de localiser l'assembly "Newtonsoft.Json, Version = 10.0.0.0, Culture = neutre, PublicKeyToken = 30ad4fe6b2a6aeed, processorArchitecture = MSIL". Vérifiez que l'assemblage existe. sur le disque Si cette référence est requise par votre code, vous risquez de recevoir des erreurs de compilation

J'ai passé un tas de temps à essayer de bousculer ceci et je suis venu vide. Toute forme d'aide serait grandement appréciée!

Lorsque je RDP dans mon serveur de génération et parcourir le dossier des packages de la construction, NewtonSoft.Json n'est pas là. Pour une raison quelconque, il n'est pas téléchargé, cependant, quand je le construis sur mon ordinateur local, il le télécharge très bien.

Ce que j'ai essayé:

  1. J'ai vérifié qu'aucun dossier paquets existe dans le contrôle source
  2. J'ai mis à jour nuget.exe à la dernière version (4.3.0), puis rétrogradé vers le bas à 3.4.4 (cette mise à jour tout cassé)
  3. J'ai supprimé le builds dossier sur le serveur de build
  4. J'ai inspecté mon fichier de configuration web qui a ceci:

<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> <Private>True</Private> </Reference>

  1. J'ai inspecté mon dossier .csproj qui a ceci:

<dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" /> </dependentAssembly>

  1. J'ai vérifié mon dossier NuGet.Config qui a ceci:

<?xml version="1.0" encoding="utf-8"?> <configuration> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> <packageSources> <add key="NuGet.Org Ver 3" value="https://api.nuget.org/v3/index.json" /> <add key="NuGet official package source" value="https://nuget.org/api/v2/" /> </packageSources> <disabledPackageSources /> </configuration>

  1. J'ai vérifié mon fichier packages.config qui a ceci:

<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net452" />

Je suis en cours d'exécution Visual Studio 2015 Mise à jour 3

serveur Build est TFS 2013

Résolu (mais je ne devrais pas avoir à le faire, quelque chose est très mal) Je l'ai résolu en rétrogradant simplement NewtonSoft.Json à 9.0.1

+0

même expérience exacte ici , avec la rétrogradation étant le seul correctif. – mdisibio

Répondre

0

D'abord vous pourriez essayer de construire votre projet en local. Si votre build local réussit et que la construction de TFS échoue, elle est généralement due à un problème de référence dll. Assurez-vous que la DLL est référencée en tant que chemin relatif dans le fichier de projet (.csproj).

Et vérifiez également les références dans votre projet avec précaution contre l'entrée dans votre fichier packages.config.

Dans votre cas, cette question peut en rapport avec VS2015 et un paquet NuGet avec la dépendance de la version Newtonsoft.Json = 10.0.3, s'il vous plaît consulter la réponse de user1467813 dans cette question: 'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'