【问题标题】:new .net core visual studio 2017 project nuget restore in CI build definitionCI 构建定义中的新 .net core visual studio 2017 项目 nuget restore
【发布时间】:2017-03-22 20:52:17
【问题描述】:

所以目前,我正在 Visual Studio 2017 中开发一个 .net core 项目。而且我还需要在 VSTS 中设置 CI(持续集成)。

这是我的构建定义中的 nuget 恢复步骤

但是我的构建失败了,因为它无法恢复任何包。这是它的日志。它说“这个解决方案中的所有项目都没有指定任何包”。我知道在 VS2017 中他们改变了处理 nuget 包的方式。 有人对此有想法或经验吗?

2017-03-22T20:25:11.9517911Z MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'.
2017-03-22T20:25:11.9674167Z Nothing to do. None of the projects in this solution specify any packages for NuGet to restore.
2017-03-22T20:25:11.9830425Z ##[section]Finishing: NuGet restore **/*.sln

我不想使用dotnet restore,因为微软这么说

.NET Core 的 dotnet restore 命令目前不支持加密 证书。要将 VSTS NuGet 源与 dotnet restore 一起使用,您需要 以纯文本形式指定个人访问令牌。

所以我不想存储我的个人访问令牌。 https://www.visualstudio.com/en-us/docs/package/nuget/auth#net-core

【问题讨论】:

  • 你的问题是什么?
  • 我的构建失败了。我的问题是我应该如何正确设置 nuget 恢复步骤来修复我的构建
  • 我永远无法让 4.0 与 VS 2017 一起工作。Here 是我给出的解决问题的答案。它仍然需要签入 4.0.* 版本,但运行良好。
  • nuget 4x 版本适合我。我还需要检查它以解决它。我期待微软能更好地支持它
  • Nuget 安装步骤/任务的源代码已经更新(github.com/Microsoft/vsts-tasks/tree/master/Tasks/…),所以很快就会更新到VSTS。

标签: c# azure-devops .net-core visual-studio-2017 nuget-package-restore


【解决方案1】:

您需要使用 NuGet 4.0。

从官方 NuGet 站点下载它。 https://dist.nuget.org/index.html

将它放在您拥有构建代理的计算机上的文件夹中。

在 NuGet 还原步骤的高级设置中,将 NuGet 版本设置为自定义。

在 NuGet.exe 的路径中指定放置 NuGet.exe 文件的路径。这是运行构建代理的机器上的路径。我尝试了相对路径,但无法让它工作,所以最后我放了一个绝对路径。如果您有多个具有不同路径的代理,这可能会给您带来问题,因此您可能需要弄清楚如何正确指定相对路径。

【讨论】:

  • 谢谢,我也在考虑这种方法。可能我会等到它变得稳定和推荐的版本。当 VSTS 与 nuget 4.0 集成并且所有的努力都付诸东流时,可能不值得实施。还是谢谢。
【解决方案2】:

Nuget 还原任务只包含 Nuget.exe 3.3 和 3.5,所以没有 4.0 的选项。您可以查看[build agent folder]\tasks\NuGetInstaller\[version]\ node_modules\nuget-task-common\NuGet文件夹中的文件。

您可以构建自定义构建/发布任务以包含 nuget.exe 4.0 并改用此任务。更多信息,可以参考Add a build task

另一方面,您可以将 Nuget.exe 添加到源代码管理,然后将其映射到构建代理(构建定义的存储库选项卡)并使用内置变量指定路径(例如 $(build.sourcesdirectory))

【讨论】:

    猜你喜欢
    • 2017-04-01
    • 2017-08-08
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多