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

问题描述 投票:1回答:2

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

dll visual-studio-2013 tfs shared-libraries
2个回答
3
投票

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

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

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

您可以参考的类似问题:

TFS 2010 Branch Across Team Projects - Best Practices

Shared Libraries branched across team projects - Best Practices


0
投票

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

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

system.web dll不需要作为已检入的DLL包含在TFS中,因为它们是.NET dll,应该可以在程序集下的添加引用屏幕或NuGet中使用。

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.