问题:TFS Build Server(v2013.4)未遵守nuget.config文件中的repositoryPath设置。
我使用自定义存储库文件夹启用了nuget自动恢复。在我的本地开发PC上,这可以使用Visual Studio 2013.4完美地工作。我没有使用旧的自动还原(使用nugettargets文件、nuget.exe和build指令),而是使用Nuget2.7+的新方法。我的自定义文件夹"nugetpackages"通过.tfignore文件从源代码管理中排除。所有程序包都会自动下载到此文件夹。
本地文件夹路径:
c: \source\nuget软件包\
c: \source\解决方案目录\.nuget\nuge.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
<config>
<add key="repositoryPath" value="....nuget-packages" />
</config>
</solution>
</configuration>
我可以查看我的TFS生成日志,我看到生成过程正在调用nuget restore命令并下载包,但在查看生成服务器本地源目录时,nuget包正在下载到默认文件夹(\Solution Dir\packages)中,因此我的生成因程序集引用错误而失败。
可能是这个bug。将NuGet更新到2.8将修复此问题。