我目前正在尝试在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"
答案 0 :(得分:0)
因此,由于某种原因,Nuget正在下载Owin.1.0.nupkg
和Unity.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'.
因此,虽然它不是理想的解决方案,但我想我必须创建一个构建步骤来重命名错误的目录名称。