【问题标题】:Third party dll第三方dll
【发布时间】:2013-08-29 04:50:04
【问题描述】:

我有以下目录。结构体

$/
 TeamProj1/
     Solution1/
         <Solution and files etc>
  TeamProj2/
     Libs/
       LibSolution1/
         <solution and files etc>
     External/
      ThirdParty.dll

Solution1 有一个对 LibSolution1 的项目引用,并且有一个对 ThirdParty.dll 的程序集引用。

当我通过 File->Open 从源代码控制 TFS 重新检出 Solution1 时,TFS 正确检出 LibSolution1 文件,但没有检出第三方 dll。 如果我手动检查第三方 dll,一切都会构建。

如何强制 TFS 检出正确的第三方 dll 文件? 我可以想到两种可能的方法,但都不是特别喜欢。 1) 我可以将 libs 文件夹添加到 Solution1 并在那里添加 dll。然后在检出solution1 时将检出dll。不过我不喜欢这种方法,因为除了 Solution1 之外还有其他解决方案会使用第三方程序集,而且我只想保留该文件的一个副本。

2) 我可以创建一个“虚拟”第三方项目/解决方案并将文件添加到该解决方案,然后将虚拟项目添加到解决方案 1 解决方案。然后,当我检查解决方案 1 时,它会看到虚拟项目并将其与所有相关文件(作为第三方 dll)一起检查...但这似乎不必要地复杂。

有没有办法让 TFS 简单地检查所需的文件?

【问题讨论】:

  • 退房时您的意思是“获取最新信息”是否正确?还是第三方.dll 需要可写?
  • 您不能只打开源代码管理资源管理器并在那里执行获取最新信息吗?为什么这在解决方案资源管理器中不起作用,请参阅 stackoverflow.com/questions/7203441/…stackoverflow.com/questions/13634401/…
  • @rene:第三方 .dll 不需要是可写的。 'get-latest' 也很可能会起作用。
  • @Edward:我可以打开源代码管理资源管理器并手动获取文件的最新版本,但是,我希望通过从源代码管理中打开新文件时自动获取文件。我不想做任何其他事情。

标签: visual-studio-2010 visual-studio-2012 tfs


【解决方案1】:

这里的解决方案是选项 1 的变体,但无需维护 DLL 的多个副本。

将新文件夹添加到您的解决方案 1(例如 Third_Party_DLL)。右键单击文件夹-> 添加现有项目,而不是在此处物理添加 DLL(从您保存它的位置创建指向这些第三方 DLL 的链接)。现在在文件夹中添加 DLL 链接后,从该文件夹 (Third_party_Dll) 添加对项目中 DLL 的引用。

现在,当您获取最新的解决方案文件时,它也应该获取您的 DLL。我自己还没有为 Dll 尝试过这个,但是为了维护一个 AssemblyVersion 文件的副本,我已经这样做了,而且效果很好。试着告诉我。

Add Vs Add Link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多