我有以下目录。结构
$/
TeamProj1/
Solution1/
<Solution and files etc>
TeamProj2/
Libs/
LibSolution1/
<solution and files etc>
External/
ThirdParty.dll
Solution1有一个对LibSolution1的项目引用,并且有一个对ThirdParty.dll的程序集引用。
当我通过File-&gt;重新检查Solution1时,从源代码管理中打开TFS会正确检出LibSolution1文件,但不会检查第三方dll。 如果我手动检查第三方dll一切都建立。
如何强制TFS检出正确的第三方dll文件? 我可以想到两种可能的方法,但也不是特别喜欢。 1)我可以将一个libs文件夹添加到Solution1并在那里添加dll。然后在检出solution1时检出dll。我不喜欢这种方法,因为除了Solution1之外还有使用第三方程序集的解决方案,我只想维护该文件的一个副本。
2)我可以创建一个“虚拟”ThirdParty项目/解决方案并将文件添加到该解决方案,然后将虚拟项目添加到solution1解决方案。然后,当我查看解决方案1时,它会看到虚拟项目并将其与所有相关文件(作为第三方dll)一起检查出来......但这似乎不必要地复杂。
我有没有办法指示TFS简单地检查出所需的文件?
答案 0 :(得分:2)
此解决方案是您的选项1的变体,但无需维护DLL的多个副本。
将新文件夹添加到Solution1(例如Third_Party_DLL)。右键点击文件夹 - &gt;添加现有项目,而不是在这里物理添加DLL(从您保存它的位置创建这些第三方DLL的链接)。现在,在文件夹中添加DLL链接后,从该文件夹(Third_party_Dll)添加对项目中DLL的引用。
现在,当您获得最新的解决方案文件时,它也应该得到您的DLL。我没有尝试过Dll的这个,但是这样做是为了维护AssemblyVersion文件的单个副本而且效果很好。试着让我知道。