4

我们的 Sitecore (.Net) 网站构建计划目前使用 Bamboo 作为持续集成流程的构建计划主控。Bamboo 支持构建 .Net 项目,并且该 .Net 项目包含对多个 Sitecore 二进制文件的引用。

我使用 NuGet 作为工件存储库,主要是因为它似乎是大多数人使用的一个。

所以,既然我有一个 nuget 存储库,正在托管我自己的 feed,并且已经将 Nuget 包添加到我的项目中(我刚刚安装了我创建的二进制包),我还需要做什么?

构建应该调用一些特别的东西,还是我完成了?我想我只是担心竹子没有直接与我的存储库对话......

在我最接近的类比中,即 Maven/Archiva 组合中,maven 计划专门引用了 archiva 中的工件,并根据需要提取正确的版本。NuGet 会这样做吗?

4

3 回答 3

9

由于 NuGet 包还原方法有了一些新的发展,我想我会发布关于这个主题的更新。我们使用的是 Visual Studio 2012。我希望能够运行 MSBuild 并确保它首先恢复 NuGet 包,而无需在配置中将“包恢复”设置为 true。这是我所做的(灵感来自https://stackoverflow.com/a/23935892/414376):

  1. 将我的解决方案中的 NuGet 升级到高于 2.7 的版本(在我的情况下为 2.8.3;这似乎是一个可选步骤)
  2. 在构建服务器上安装 NuGet.exe
  3. 将 NuGet.exe 添加到我的远程代理中,以便它可以作为 Bamboo 的命令运行
  4. 使用参数将 NuGet 命令添加到我的构建计划中restore(以便命令为nuget restore);我把它放在我的 MSV Build 任务之前。

根据最新的指导方针,这就是我需要让它正常工作的全部内容。

于 2015-01-28T13:07:26.007 回答
6

Nuget 1.4+ 支持“包还原”,它在项目文件中嵌入了对 MsBuild 任务的调用。当包不可用时,它会在构建项目时自动恢复它们。

于 2012-04-02T10:57:32.447 回答
0

我确定这是旧消息,但我的包在 \packages 中。在我明确提到 packages 文件夹之前,再多的“dotnet restore”都行不通。

dotnet restore --packages .\packages

恢复他们!

VS2019。以防万一它是特定于版本的。

于 2019-05-06T14:32:24.507 回答