【问题标题】:Visual Studio Team Services Build Package Restore failing with project.json netstandard1.0 targetVisual Studio Team Services 构建包还原失败,project.json netstandard1.0 目标
【发布时间】:2016-06-30 20:41:45
【问题描述】:

我最近使用 project.json 和新的 netstandard1.0 框架名称更新了我的可移植类库以面向 .NET Core。我的理解是 Nuget 3.4 现在支持这一点。 我的项目有以下 project.json:

{
  "supports": {},
  "dependencies": {
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1",
    "NETStandard.Library": "1.6.0"
  },
  "frameworks": {
    "netstandard1.0": {}
  }
}

这在 Visual Studio 2015 Update 3 中构建得很好。

但是,当使用 VSTS(以前是 Visual Studio Online)构建时,它现在在包还原步骤中给我以下错误:

The project 'MyProject' does not specify any target frameworks in 'C:\a\1\s\MyProject\project.json'.

它显示执行的命令是:

NuGet.exe restore "C:\a\1\s\Build.sln"  -NonInteractive -configfile "C:\a\1\NuGet\newNuGet.config"

这是由于针对解决方案执行还原造成的吗?或者 VSTS Build 任务可能还没有使用 Nuget 3.4?

【问题讨论】:

  • @EricLiu NETStandard.Library 1.6.0 是 NuGet 上 NETStandard.Library 的唯一发布版本。即使您使用的是较低版本的netstandard,也可以依赖它。
  • 我应该提到,这是在项目属性中选择新的“目标网络标准库”链接后由 Visual Studio 2015 Update 3 创建的 project.json。如果它不正确,我会感到惊讶......
  • @EricLiu 是的,但是对于netstandard1.0 项目来说,它也非常适合。发布版本!= 目标框架版本。 (它们看起来一样很愚蠢)

标签: .net azure-devops .net-core nuget-package-restore azure-pipelines


【解决方案1】:

您可以展开高级部分,然后选择最新版本的 Nuget。截至 2016 年 10 月,那是 Nuget 3.5 rc2

【讨论】:

  • 我们使用 Nuget 3.5 rc2 (build 1829) 但我们仍然收到以下错误:..\project.json(15,26): Error NU1001: The dependency NetStandard.Library >= 1.6.0无法解决。当我们尝试在本地运行此版本的 Nuget 并在之后运行 dotnet build 时,这可以正常工作。
【解决方案2】:

我相信它已经解决了并且您使用了有效版本的 NuGet,但您也可以在 NuGet 安装程序之后添加一个命令行作为新的构建步骤,并调用dotnet restore(工具:dotnet , 参数:restore)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-26
    • 2015-04-15
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 2013-12-14
    • 2016-08-18
    • 2016-06-25
    相关资源
    最近更新 更多