2016-04-28 7 views
0

Setup:TFS 2015 OnPrem Nuget wiederherstellen Fehler

  • TFS 2015 Update 2
  • Build-Agent wird auf einem Windows 2012 Server ausgeführt wird
    • Visual Studio 2015 Update 2 installiert auf Build-System-

enter image description here

Ich habe eine Build (neu) -Definition, die auf einem Agenten ausgeführt wird, auf dem VS 2015 Update 2 installiert ist. Ich habe ein Projekt mit mehreren NuGet-Paketen. Bis heute Nachmittag funktionierte das Gebäude wie erwartet. Ich habe einige Änderungen an, wo sie legt die Builds, wenn Sie fertig und dann begann ich diesen Fehler:

2016-04-28T16:35:03.3605826Z Set workingFolder to default: E:\agent\tasks\NuGetInstaller\0.1.17

2016-04-28T16:35:03.4073604Z Executing the powershell script: E:\agent\tasks\NuGetInstaller\0.1.17\NuGetInstaller.ps1

2016-04-28T16:35:05.0948829Z Saving to E:\agent_work\1\NuGet\newNuGet.config

2016-04-28T16:35:05.1418632Z E:\agent\agent\worker\tools\NuGet.exe restore "E:\agent_work\1\s\Dev\eCommerce\Consol.eCommerce.sln" -NonInteractive -configfile "E:\agent_work\1\NuGet\newNuGet.config"

2016-04-28T16:35:05.8761260Z MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'.

2016-04-28T16:35:06.6105618Z Restoring NuGet package System.Reflection.Metadata.1.2.0.

2016-04-28T16:35:08.9542747Z WARNING: Unable to find version '1.2.0' of package 'System.Reflection.Metadata'.

2016-04-28T16:35:09.0012648Z ##[error]Unable to find version '1.2.0' of package 'System.Reflection.Metadata'.

2016-04-28T16:35:09.0323998Z ##[error]Unexpected exit code 1 returned from tool NuGet.exe

Nun ist dies, wo ich verloren bekam, habe ich geprüft NuGet.org und das Paket und diese Version existieren. Ich habe sogar alle Pakete im Projekt auf meinem lokalen System entfernt und dann eine NuGet-Paket-Wiederherstellung durchgeführt, und es hat gut funktioniert. Ich habe das NuGet-Paket aus dem Projekt gelöscht und es erneut hinzugefügt, und es hat gut funktioniert.

Hat jemand das gesehen und weiß, wie man es repariert?

Aktualisiert 29/4/2016: Also wie ich im Kommentar unten gesagt habe, habe ich es aussortiert. Meine ursprüngliche nuget.config Datei war

<configuration> 
    <solution> 
     <add key="disableSourceControlIntegration" value="true" /> 
    </solution> 
    <packageSources> 
    <add key="NuGet official package source v2" value="https://nuget.org/api/v2/" /> 
    <add key="FelineSoft NuGet" value="http://prod-tfs15:81/nuget" /> 
    </packageSources> 
    <activePackageSource> 
    <add key="All" value="(Aggregate source)" /> 
    </activePackageSource> 
</configuration> 

ich es änderte sich dies und es funktionierte

<configuration> 
    <solution> 
     <add key="disableSourceControlIntegration" value="true" /> 
    </solution> 
    <packageSources> 
    <add key="NuGet official package source v3" value="https://api.nuget.org/v3/index.json" /> 
    <add key="NuGet official package source v2" value="https://nuget.org/api/v2/" /> 
    <add key="FelineSoft NuGet" value="http://prod-tfs15:81/nuget" /> 
    </packageSources> 
    <activePackageSource> 
    <add key="All" value="(Aggregate source)" /> 
    </activePackageSource> 
</configuration> 

Die neue Frage ist, warum funktioniert das API End-Point-Angelegenheit für einen solchen Kommentar Paket?

Antwort

0

Es hängt davon ab, welche Version von Nuget-Client Visual Studio verwendet und dann Nugget-Client erwartet bestimmte Version von API für den Verbrauch, mehr wie Nugget-Client-Version dann vs Version aussehen.

0

Nach Ihren Fehlerinformationen kann dies durch Ihr Arbeitsverzeichnis auf dem Build-Agent verursacht hat sich geändert. Da Sie den Speicherort für die Builds geändert haben. Dies könnte den Fehler verursachen.

Sie können das Arbeitsverzeichnis auf dem Erstellungsagenten löschen und automatisch neu erstellen lassen. Dann versuche es noch einmal.


aktualisieren

System.Reflection.Metadata 1.2.0 erfordert nur NuGet 2.8.6 oder höher. Für NuGet feed v3 (VS 2015/NuGet v3.x): https://api.nuget.org/v3/index.json und für NuGet feed v2 (VS 2013 und früher/NuGet 2.x): https://www.nuget.org/api/v2. Da Sie VS2015 verwenden, hat vielleicht das Hinzufügen der V3-URL den Trick gemacht.

+0

Das habe ich gestern und heute mehrmals gemacht, aber heute morgen hat es sich erledigt, aber die Lösung macht noch weniger Sinn als das Problem. Ich werde die Frage aktualisieren, um die gefundene Lösung zu zeigen. –

+0

System.Reflection.Metadata 1.2.0 erfordert nur NuGet 2.8.6 oder höher. Für NuGet feed v3 (VS 2015/NuGet v3.x): https://api.nuget.org/v3/index.json und für NuGet feed v2 (VS 2013 und früher/NuGet 2.x): https: // www.nuget.org/api/v2.Da Sie VS2015 verwenden, hat vielleicht das Hinzufügen der V3-URL den Trick gemacht. –