我正在尝试在TFS2015中设置自动构建。目标是在签入时自动构建和测试解决方案,如果一切都通过,则创建新的Nuget包并将其放置在本地存储库中。
这个过程适用于我的第一个解决方案,这是一个没有依赖关系的简单项目。然后,第二个项目将从此项目创建的Nuget包用作依赖项。
在Visual Studio中构建时,此工作正常。正常下载和提取包。但是,当我在TFS中检查第二个项目时,自动构建不能正确处理此包。程序包将从本地存储库中还原,但不会将其解压缩。这意味着构建失败,因为它找不到它需要的实际DLL。
我也在项目中使用EntityFramework,它可以正常工作。程序包已下载,但随后也会被解压缩。
我已尝试过此question中给出的解决方法,但TFS服务器没有C:\ Users.nuget \ packages文件夹。
我还尝试使用命令here清除Nuget缓存,但这又没有帮助。
如果我手动提取由自动构建下载的Nuget软件包,然后再次运行构建,那么它是否有效,这表明问题不在于软件包本身?
Nuget.exe版本是3.5。 .Net版本是4.5标准。包在packages.config中引用,也由项目引用引用。 Nuget.exe正用于恢复。
关于为什么没有提取本地包的任何想法?
答案 0 :(得分:0)
原因是我不小心检查了这个项目中的packages文件夹中的某些点,所以看起来来自我当地的Nuget文件夹的实际上只是被复制出项目中的packages文件夹。
从TFS中删除packages文件夹解决了该问题。
仍然不确定为什么它在任何情况下都没有提取包,但问题已经解决了。