所以过去几天我一直在设置NuGet,制作我们内部库的包,更新我们的项目,让我们的TFS Build服务器构建。所有这一切都很棒!现在我遇到了一个问题,在NuGet和包恢复之前,我可以在TFS中搜索.dll文件,例如我可以在TFS中搜索Company.Common.dll,并使用以下命令查找使用此dll的所有项目: / p>
目录“$ / * Company.common.dll”/递归 /服务器:http:// TFS-服务器:8080
现在,在我们开始使用NuGet并使用包恢复后,dll文件中的Company.Common.dll将不会出现在使用它的项目的TFS中。这意味着我无法使用上面的搜索命令来查找我想要更新的.dll文件
我正在考虑编写一个PowerShell脚本,该脚本可以在TFS中找到所有packages.config文件,并将它们下载到一个文件夹结构,指示不同项目所在的TFS中的位置。然后我将遍历packages.config文件以找出哪些项目使用了我想要更新的特定NuGet包。
原因是我们所有的项目都应该在更新时更新Common.dll。
我想知道的是,如果有人已经解决了这个“问题”,那么我不必再发明轮子,或者对此有一些观点或建设性意见。我想核心问题是:
当有多个团队在TFS中创建/更新项目时,如何处理所有项目的更新包?
答案 0 :(得分:0)
一种解决方案是使用“repositoryPath”NuGet配置设置,并使其指向中央UNC共享。更多细节@ http://docs.nuget.org/docs/release-notes/nuget-2.1。
如果需要,您可以使用NuGet.exe Update packageName -RepositoryPath xxx -Source xxx命令更新特定包。