0

所以过去几天我一直在设置 NuGet,制作我们内部库的包,更新我们的项目,让我们的 TFS 构建服务器进行构建。这一切都太棒了!现在我遇到了一个问题,在 NuGet 和包还原之前,我可以在 TFS 中搜索 .dll 文件,例如,我可以在 TFS 中搜索 Company.Common.dll 并使用以下命令查找使用此 dll 的所有项目:

tf dir "$/*Company.common.dll" /recursive /server:http://tfs-server:8080

现在,在我们开始使用 NuGet 并使用包还原后,dll 文件 Company.Common.dll 将不会出现在使用它的项目的 TFS 中。这意味着我无法使用上述搜索命令来查找我要更新的 .dll 文件

我正在考虑编写一个 powershell 脚本,该脚本将在 TFS 中找到所有 packages.config 文件并将它们下载到一个文件夹结构中,该文件夹结构指示不同项目在 TFS 中的位置。然后我会遍历 packages.config 文件来找出哪些项目使用了我想要更新的特定 NuGet 包。

这样做的原因当然是我们所有的项目都应该在有更新时更新 Common.dll。

我想知道是否有人已经解决了这个“问题”,所以我不必再次发明轮子,或者对此有一些观点或建设性意见。我想核心问题是这样的:

当有多个团队在 TFS 中创建/更新项目时,您如何处理跨所有项目更新包?

4

1 回答 1

0

一种解决方案是使用“repositoryPath”NuGet 配置设置并使其指向中央 UNC 共享。更多细节在这里@http ://docs.nuget.org/docs/release-notes/nuget-2.1

如果需要,您可以使用 NuGet.exe Update packageName -RepositoryPath xxx -Source xxx 命令更新特定包。

于 2013-02-03T00:28:41.960 回答