VSTS 构建:包无法还原 - 无法解析“.NETStandard,Version=v2.0”的 'NETStandard.Library (>= 1.6.1)'
VSTS build: Packages failed to restore - Unable to resolve 'NETStandard.Library (>= 1.6.1)' for '.NETStandard,Version=v2.0'
我正在
Unable to resolve 'NETStandard.Library (>= 1.6.1)' for '.NETStandard,Version=v2.0'.
在我将我的 aspnetcore 应用程序升级到 netcoreapp2.0
并将我的库升级到使用 netstandard2.0
之后,在使用 Hosted2017 构建代理的 VSTS 构建中。
本地工作正常。
我已经编辑了我的构建定义以使用 .net 核心构建任务 v2.* preview
:
这里是构建日志:
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\Nuget\tempNuGet_734.config
"C:\Program Files\dotnet\dotnet.exe" restore d:\a\s\src\CommandStack\CommandStack.csproj --configfile d:\a\Nuget\tempNuGet_734.config --verbosity Detailed
Restoring packages for d:\a\s\src\CommandStack\CommandStack.csproj...
C:\Program Files\dotnet\sdk.0.4\NuGet.targets(97,5): error : Unable to resolve 'NETStandard.Library (>= 1.6.1)' for '.NETStandard,Version=v2.0'. [d:\a\s\src\CommandStack\CommandStack.csproj]
Generating MSBuild file d:\a\s\src\CommandStack\obj\CommandStack.csproj.nuget.g.props.
Generating MSBuild file d:\a\s\src\CommandStack\obj\CommandStack.csproj.nuget.g.targets.
Writing lock file to disk. Path: d:\a\s\src\CommandStack\obj\project.assets.json
Restore failed in 115.64 ms for d:\a\s\src\CommandStack\CommandStack.csproj.
Errors in d:\a\s\src\CommandStack\CommandStack.csproj
Unable to resolve 'NETStandard.Library (>= 1.6.1)' for '.NETStandard,Version=v2.0'.
NuGet Config files used:
d:\a\Nuget\tempNuGet_734.config
Error: C:\Program Files\dotnet\dotnet.exe failed with return code: 1
Packages failed to restore
******************************************************************************
Finishing: Restore
******************************************************************************
这是源代码:https://github.com/Liero/vyvojari-sk/tree/e448a25fb8c481704e9102aaaeb8b84b9aee7b02
您应该select 供稿我select在这里供供稿使用选项。如果您将 使用来自此 VSTS/TFS 提要 的包留空,将从 https://dist.nuget.org/.
下载包
否则,如果您想使用我的 NuGet.config 中的 Feed 作为要使用的 Feed,您应该指定 NuGet.config
文件的路径。
2017 年 9 月 18 日更新
不再需要第 2 步。我已将其留在解决方案中,因为它仍然可以帮助某些人。谢谢,@Liero 指出了这一点。
原答案
我也遇到过这个问题,通过三件事解决了这个问题:
使用 .NET Core SDK(!-不是运行时!)版本 2.0.0:
使用最新的 NuGet 提要 (4.3.0):
恢复您的包裹:
更新
在这里值得一提的是,您应该指定从何处获取 NuGet 包。根据屏幕截图(请参阅小复选框),大多数应用程序可能只使用 NuGet.org 提要,但您可能在 NuGet.config 文件中指定了自定义提要。在这种情况下,勾选 'Feeds in my NuGet.config',然后指定该文件的路径。
为了说明顺序,这是我的工作队列:
我希望这对您和遇到此问题的任何其他人有所帮助。如果您有任何问题,请告诉我。 :)
对我有用的是安装 .NET Core SDK 2.0 并进行以下更改:
在 .csproj 中:
改变
<TargetFramework>netcoreapp1.1.0</TargetFramework>
到
<TargetFramework>netcoreapp2.0</TargetFramework>
并在 global.json 中:
"sdk": { "version": "1.1.0" }
到
"sdk": { "version": "2.0.0" }
我不知道如何使用 Chris Paton 的解决方案
我在使用 dotnet new angular
生成项目后收到了类似的错误,该项目创建了一个依赖于 netcoreapp2.0
的项目。检查项目属性发现版本 2.0 没有被正确识别(没有出现在已安装的框架列表中)。
解决方案是更新 Visual Studio 2017,因为支持 netcoreapp2.0 项目所需的最低版本似乎是 15.3.1.
将 Visual Studio 2017 更新到最新的 15.4.1 版本解决了我的问题。
我正在
Unable to resolve 'NETStandard.Library (>= 1.6.1)' for '.NETStandard,Version=v2.0'.
在我将我的 aspnetcore 应用程序升级到 netcoreapp2.0
并将我的库升级到使用 netstandard2.0
之后,在使用 Hosted2017 构建代理的 VSTS 构建中。
本地工作正常。
我已经编辑了我的构建定义以使用 .net 核心构建任务 v2.* preview
:
这里是构建日志:
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\Nuget\tempNuGet_734.config
"C:\Program Files\dotnet\dotnet.exe" restore d:\a\s\src\CommandStack\CommandStack.csproj --configfile d:\a\Nuget\tempNuGet_734.config --verbosity Detailed
Restoring packages for d:\a\s\src\CommandStack\CommandStack.csproj...
C:\Program Files\dotnet\sdk.0.4\NuGet.targets(97,5): error : Unable to resolve 'NETStandard.Library (>= 1.6.1)' for '.NETStandard,Version=v2.0'. [d:\a\s\src\CommandStack\CommandStack.csproj]
Generating MSBuild file d:\a\s\src\CommandStack\obj\CommandStack.csproj.nuget.g.props.
Generating MSBuild file d:\a\s\src\CommandStack\obj\CommandStack.csproj.nuget.g.targets.
Writing lock file to disk. Path: d:\a\s\src\CommandStack\obj\project.assets.json
Restore failed in 115.64 ms for d:\a\s\src\CommandStack\CommandStack.csproj.
Errors in d:\a\s\src\CommandStack\CommandStack.csproj
Unable to resolve 'NETStandard.Library (>= 1.6.1)' for '.NETStandard,Version=v2.0'.
NuGet Config files used:
d:\a\Nuget\tempNuGet_734.config
Error: C:\Program Files\dotnet\dotnet.exe failed with return code: 1
Packages failed to restore
******************************************************************************
Finishing: Restore
******************************************************************************
这是源代码:https://github.com/Liero/vyvojari-sk/tree/e448a25fb8c481704e9102aaaeb8b84b9aee7b02
您应该select 供稿我select在这里供供稿使用选项。如果您将 使用来自此 VSTS/TFS 提要 的包留空,将从 https://dist.nuget.org/.
下载包否则,如果您想使用我的 NuGet.config 中的 Feed 作为要使用的 Feed,您应该指定 NuGet.config
文件的路径。
2017 年 9 月 18 日更新
不再需要第 2 步。我已将其留在解决方案中,因为它仍然可以帮助某些人。谢谢,@Liero 指出了这一点。
原答案
我也遇到过这个问题,通过三件事解决了这个问题:
使用 .NET Core SDK(!-不是运行时!)版本 2.0.0:
使用最新的 NuGet 提要 (4.3.0):
恢复您的包裹:
更新 在这里值得一提的是,您应该指定从何处获取 NuGet 包。根据屏幕截图(请参阅小复选框),大多数应用程序可能只使用 NuGet.org 提要,但您可能在 NuGet.config 文件中指定了自定义提要。在这种情况下,勾选 'Feeds in my NuGet.config',然后指定该文件的路径。
为了说明顺序,这是我的工作队列:
我希望这对您和遇到此问题的任何其他人有所帮助。如果您有任何问题,请告诉我。 :)
对我有用的是安装 .NET Core SDK 2.0 并进行以下更改:
在 .csproj 中:
改变
<TargetFramework>netcoreapp1.1.0</TargetFramework>
到
<TargetFramework>netcoreapp2.0</TargetFramework>
并在 global.json 中:
"sdk": { "version": "1.1.0" }
到
"sdk": { "version": "2.0.0" }
我不知道如何使用 Chris Paton 的解决方案
我在使用 dotnet new angular
生成项目后收到了类似的错误,该项目创建了一个依赖于 netcoreapp2.0
的项目。检查项目属性发现版本 2.0 没有被正确识别(没有出现在已安装的框架列表中)。
解决方案是更新 Visual Studio 2017,因为支持 netcoreapp2.0 项目所需的最低版本似乎是 15.3.1.
将 Visual Studio 2017 更新到最新的 15.4.1 版本解决了我的问题。