Nuget将包下载到不正确的文件夹 - Bamboo构建服务器

时间:2015-06-01 09:33:04

标签: nuget bamboo nuget-package-restore

我目前正在尝试在Bamboo中为ASP.NET MVC项目创建构建计划。我已经设置了我的构建计划来调用nuget.exe来获取构建所需的包。但是,Nuget还原操作会将nuget文件放入与指定目录不同的目录中,从而导致构建问题。

下面是我的packages.config文件中两个Nuget包的摘录,它们导致了这些问题:

<package id="Owin" version="1.0.0" targetFramework="net46" userInstalled="true" />
<package id="Unity" version="3.5.1404" targetFramework="net46" userInstalled="true" />

还原操作正常,但程序包将下载到错误的目录名称中。例如,Owin软件包应该packages\Owin.1.0下载到packages\Owin.1.0.0。统一包下载到packages\Unity.3.5.1404.0

应该注意的是,这两行的位置与packages.config文件中的位置相同(即Unity直接跟随Owin包),所以我认为丢失{{{}的目录不是巧合。 1}}直接位于获取.0的包定义之前。

Bamboo中的命令只是使用以下命令参数调用Nuget.exe文件:0.1

编辑: 通过下载nuget命令行实用程序并从命令行运行以下命令,可以在完全不同的系统上重现此行为: restore "${bamboo.build.working.directory}\checkout\path\to\Solution.sln" -ConfigFile "${bamboo.tools.directory}\nuget\nuget.config"

1 个答案:

答案 0 :(得分:0)

因此,由于某种原因,Nuget正在下载Owin.1.0.nupkgUnity.3.5.1404.0.nupkg文件,这是不正确的目录名称的来源。

nuget restore命令的输出:

Installing 'Owin 1.0'.
Installing 'Unity 3.5.1404.0'.
Successfully installed 'Owin 1.0'.
Successfully installed 'Unity 3.5.1404.0'.

因此,虽然它不是理想的解决方案,但我想我必须创建一个构建步骤来重命名错误的目录名称。