TFS:在多个项目上共享单个 dll



我们在TFS中有几个C# .Net应用,并使用Visual Studio 2013。 我对 TFS 相对较新,并意识到这可能是一个重复的问题。 我相信其他人也有同样的问题/想法。 所有这些都有共同的共享dll(即System.Web.MVC.dll(以及我们内部构建的公共库(即our_common_lib.dll(。 当然,我们希望在 TFS 中只存储这些公共 dll 的一个版本,并将所有项目引用/链接到这些公共 dll,以便在我们分支或创建新项目时,它们会自动拉入这些共享 dll。 在前世,我在ClearCase中这样做了(是的,那个旧(。 我们如何在 TFS 中执行此操作? (如果这是一个骗局,请指出我那里(

有几种方法可以分发它。也许然后您可以在每个客户端的 GAC 中安装/注册二进制文件。

另一种方法是(如果需要更频繁的更新(将二进制文件存储在共享位置的源代码管理中。每个项目都使用共享位置中的文件。

还可以使用 Nuget 包。将这些常见 dll 打包到 Nuget 包中。如果使用的是 TFS 2015 及更高版本,则可以使用将此包上载到 TFS 包网站上的源。然后在每个客户端上的 Nuget.config 文件中添加此源设置。然后,可以从 TFS 上的源安装这些包。有关更多详细信息,您可以参考:https://www.visualstudio.com/en-us/docs/package/build/team-build-nuget

您可以参考的类似问题:

跨团队项目的 TFS 2010 分支 - 最佳做法

跨团队项目分支的共享库 - 最佳做法

如果你our_common_lib.dll是一个项目,则可以将此项目添加到你的解决方案中,然后以这种方式引用它。这样,它将使用您的主要解决方案构建并包含在输出中。

如果不是这种情况,我过去这样做的方法是在 TFS 中有一个包含相关 dll 的文件夹。然后,您可以使用添加参考屏幕中的浏览选择它们作为项目中的参考。

system.web dll 不应作为签入的 DLL 包含在 TFS 中的 DLL 中,因为它们是 .NET dll,并且应该在程序集下的"添加引用"屏幕中或通过 NuGet 提供。

希望这有帮助!

最新更新