外部程序集应放在Visual Studio解决方案中的哪个位置,以便它们成为源代码控制的一部分?

时间:2008-12-19 16:39:55

标签: visual-studio version-control visual-studio-2005

我有一个多项目解决方案。我认为最佳做法是将所有外部引用的程序集(例如OSS内容)放在解决方案及其组件项目的相对路径上的文件夹中。

我想在包含我的.sln文件的同一个Windows文件夹中创建一个名为 Libs 的真实文件夹,并将其添加到源代码管理(Team System)。我似乎无法从解决方案资源管理器中弄清楚如何做到这一点。我只能从Source Control Explorer中执行此操作。似乎没有办法将此Libs Windows文件夹直接添加到解决方案本身。

我看到你可以创建一个“解决方案文件夹” - 但这并不对应真正的Windows文件夹,它显然将文件放在顶级解决方案文件夹中。

我想知道是否有办法将Libs文件夹添加到解决方案中,以便它显然存在并由组件项目引用。

5 个答案:

答案 0 :(得分:3)

这是我在TFS中的结构

Development/
   Trunk/
      Binaries/  -- Shared libraries
      Source/
      Test/      
      Docs/      -- Documentation
      TeamBuildTypes/  -- Build definitions

您无法直接在visual studio中使用项目执行您想要的操作。您可以做的最好的事情是创建一个外部文件夹,在那里打开库,然后添加一个解决方案文件夹和“添加现有项”,然后选择库并单击“添加为链接”。它实际上隐藏在“添加”按钮的下拉列表中。单击小箭头,它将为您提供“添加为链接”选项。

答案 1 :(得分:0)

我通常看到第三方DLL放在源控件中任何特定项目之外的“ThirdParty”文件夹中。然后在您的项目中从“ThirdParty”文件夹中引用它,并确保引用的Copy Local属性设置为true。

答案 2 :(得分:0)

看看Streamed Lines paper它建议了一些处理第三方依赖的结构模式

答案 3 :(得分:0)

“感谢Micah。我认为添加为链接选项是VS2008的新功能。唉,这是一个VS2005项目,我看不到它。”

无论如何,您无法在解决方案文件夹中使用“添加为链接”。

答案 4 :(得分:-1)

对于什么是值得的,我们在解决方案之外有一个“PrecompiledLibraries”文件夹(Micah称为Binaries),我们在那里引用。如果新的外部库发生了变化,我们只需将其置于,重新链接,测试和重新编译即可。如果一切顺利,请提交并瞧。