【问题标题】:Nuget command lineNuget 命令行
【发布时间】:2018-05-01 08:26:45
【问题描述】:

我在 VSTS 中有一个空的存储库(项目),非常具体: 我没有 Visual Studio 解决方案或 Visual Studio 项目。

我想做什么: 1.在VSTS中建立一个 2.在构建过程中启用Nuget 3. 在其中一个构建步骤中下载特定的 NuGet 包 (Newtonsoft.Json)。 例如如果我有一个 package.config 文件,那么它将包含以下行:

 <package id="Newtonsoft.Json" version="8.0.3" allowedVersions="[8,10)" targetFramework="net46" />

问题:

我知道如何执行第 1 步和第 2 步,但我不知道如何执行第 3 步。

  • 我正在寻找可帮助我在 VSTS 的构建过程中下载包的特定命令。

有人知道吗?

提前致谢!

【问题讨论】:

  • 嗨 Farzad J,关于这个线程的任何更新,我的回复是否有帮助或给出了正确的方向?
  • 我最终在 GitHub 中托管了一个文件,并通过 PowerShell 将其作为原始文件下载。但是我找不到任何不需要解决方案和项目的解决方案。

标签: build nuget azure-devops command-line-interface devops


【解决方案1】:

你需要使用NuGet.exe来恢复包如下-

  1. 下载 NuGet.exe -

    wget https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile nuget.exe

  2. 运行恢复 -

    nuget.exe restore packages.config -PackagesDirectory &lt;packages_directory&gt;

  3. 这会将包下载到“packages_directory”。

但我建议您考虑使用 PackageReference 项目样式,该项目使用项目的 csproj 文件添加包引用,然后您可以使用 msbuild 恢复包并构建 - msbuild project.csproj /t:"restore;build"

【讨论】:

  • 谢谢 - 我认为这是最接近我需要的东西。
【解决方案2】:

您可以在代码或 cmd 任务中调用 nuget.exe install 命令,类似于 NuGet 任务:VSTS-tasks/Tasks/NuGet

【讨论】:

    【解决方案3】:

    仅供参考: 我最终在 GitHub 中托管了一个文件,并通过 PowerShell 将其作为原始文件下载。 但是我找不到任何不需要解决方案和项目的解决方案。

    【讨论】:

      猜你喜欢
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 2014-10-28
      • 1970-01-01
      相关资源
      最近更新 更多