wake-up-neo.com

VSTS-Build: Pakete konnten nicht wiederhergestellt werden - 'NETStandard.Library (> = 1.6.1)' für '.NETStandard, Version = v2.0' kann nicht aufgelöst werden

Ich erhalte

'NETStandard.Library (> = 1.6.1)' für '.NETStandard, Version = v2.0' kann nicht aufgelöst werden.

im VSTS-Build mit dem Hosted2017-Build-Agent, nachdem ich meine Aspnetcore-App auf netcoreapp2.0 und meine Bibliotheken auf netstandard2.0 aktualisiert habe.

Funktioniert gut vor Ort.

Ich habe meine Build-Definition bearbeitet, um die .net-Core-Build-Aufgabe v2.* preview Zu verwenden:

build definition details

hier ist das Build-Protokoll:

Current agent version: '2.120.2'
Download all required tasks.
Downloading task: DotNetCoreCLI

Starting: Get Sources
Syncing repository: Liero/vyvojari-sk (GitHub)
...details ommited
HEAD is now at e448a25... Upgraded to .NET Core 2.0
Finishing: Get Sources

Starting: Restore
==============================================================================
Task         : .NET Core
Description  : Build, test, package, or publish a dotnet application, or run a custom dotnet command. For package commands, supports NuGet.org and authenticated feeds like Package Management and MyGet.
Version      : 2.0.5
Author       : Microsoft Corporation
Help         : [More Information](https://go.Microsoft.com/fwlink/?linkid=832194)
==============================================================================
SYSTEMVSSCONNECTION exists true
Downloading: https://dist.nuget.org/win-x86-commandline/v4.0.0/nuget.exe
Caching tool: NuGet 4.0.0 x64
Using version: 4.0.0
Found tool in cache: NuGet 4.0.0 x64
Saving NuGet.config to a temporary config file.
Can\'t find loc string for key: NGCommon_NoSourcesFoundInConfig
NGCommon_NoSourcesFoundInConfig d:\a\1\Nuget\tempNuGet_734.config
"C:\Program Files\dotnet\dotnet.exe" restore d:\a\1\s\src\CommandStack\CommandStack.csproj --configfile d:\a\1\Nuget\tempNuGet_734.config --verbosity Detailed
  Restoring packages for d:\a\1\s\src\CommandStack\CommandStack.csproj...
C:\Program Files\dotnet\sdk\1.0.4\NuGet.targets(97,5): error : Unable to resolve 'NETStandard.Library (>= 1.6.1)' for '.NETStandard,Version=v2.0'. [d:\a\1\s\src\CommandStack\CommandStack.csproj]
  Generating MSBuild file d:\a\1\s\src\CommandStack\obj\CommandStack.csproj.nuget.g.props.
  Generating MSBuild file d:\a\1\s\src\CommandStack\obj\CommandStack.csproj.nuget.g.targets.
  Writing lock file to disk. Path: d:\a\1\s\src\CommandStack\obj\project.assets.json
  Restore failed in 115.64 ms for d:\a\1\s\src\CommandStack\CommandStack.csproj.

  Errors in d:\a\1\s\src\CommandStack\CommandStack.csproj
      Unable to resolve 'NETStandard.Library (>= 1.6.1)' for '.NETStandard,Version=v2.0'.

  NuGet Config files used:
      d:\a\1\Nuget\tempNuGet_734.config
Error: C:\Program Files\dotnet\dotnet.exe failed with return code: 1
Packages failed to restore
******************************************************************************
Finishing: Restore
******************************************************************************

und hier ist der Quellcode: https://github.com/Liero/vyvojari-sk/tree/e448a25fb8c481704e9102aaeb8b84b9aee7b02

20
Liero

Update 18/09/2017

Schritt 2 wird nicht mehr benötigt. Ich habe es jedoch in der Lösung belassen, da es möglicherweise noch einigen Leuten hilft. Vielen Dank an @Liero für diesen Hinweis.


Ursprüngliche Antwort

Ich habe dieses Problem auch gerade erlebt und es durch drei Dinge gelöst:

  1. Verwenden Sie das .NET Core SDK (! - keine Laufzeit!) Version 2.0.0: enter image description here

  2. Verwenden Sie den neuesten NuGet-Feed (4.3.0): enter image description here

  3. Stellen Sie Ihre Pakete wieder her: enter image description here

Update Hier ist zu erwähnen, dass Sie angeben sollten, woher Sie Ihre NuGet-Pakete beziehen. Die meisten Anwendungen verwenden wahrscheinlich nur den NuGet.org-Feed, wie im Screenshot gezeigt (siehe kleines Kontrollkästchen). Möglicherweise sind Ihre benutzerdefinierten Feeds jedoch in einer NuGet.config-Datei angegeben. Aktivieren Sie in diesem Fall "Feeds in meiner NuGet.config" und geben Sie den Pfad zu dieser Datei an.

Um die Reihenfolge zu veranschaulichen, ist dies meine Arbeitswarteschlange: enter image description here

Ich hoffe, das hilft Ihnen und allen anderen, die auf dieses Problem gestoßen sind. Wenn Sie Fragen haben, lassen Sie es mich wissen. :)

61
Chris Paton

Sie sollten Feed (s) auswählen, die ich hier als Option für Feeds auswähle. Wenn Sie Pakete aus diesem VSTS/TFS-Feed leer lassen, werden die Pakete von https://dist.nuget.org/) heruntergeladen. .

enter image description here

Wenn Sie ansonsten Feeds in meiner NuGet.config als zu verwendende Feeds verwenden möchten, sollten Sie den Pfad für Ihr NuGet.config Datei.

4
Marina Liu

Ich habe einen ähnlichen Fehler erhalten, nachdem ich mit dotnet new angular Ein Projekt erstellt habe, das auf netcoreapp2.0 Basiert. Die Überprüfung der Projekteigenschaften ergab, dass Version 2.0 nicht richtig erkannt wurde (nicht in der Liste der installierten Frameworks enthalten).

Die Lösung bestand darin, Visual Studio 2017 zu aktualisieren, da die zur Unterstützung von netcoreapp2. Projekten erforderliche Mindestversion 15.3.1 zu sein scheint.

1
Alexei

Bei mir hat die Installation von .NET Core SDK 2.0 funktioniert und die folgenden Änderungen vorgenommen:

in .csproj:

veränderung

<TargetFramework>netcoreapp1.1.0</TargetFramework>

zu

<TargetFramework>netcoreapp2.0</TargetFramework>

und in global.json:

"sdk": { "version": "1.1.0" }

zu

"sdk": { "version": "2.0.0" }

Ich wusste nicht, wie ich die Lösung von Chris Paton verwenden sollte

0
Andrei Dobrin

Durch das Aktualisieren von Visual Studio 2017 auf die neueste Version 15.4.1 wurde das Problem für mich behoben.

0
Megha