我有一个多项目解决方案。我认为最佳做法是将所有外部引用的程序集(例如OSS内容)放在解决方案及其组件项目的相对路径上的文件夹中。
我想在包含我的.sln文件的同一个Windows文件夹中创建一个名为 Libs 的真实文件夹,并将其添加到源代码管理(Team System)。我似乎无法从解决方案资源管理器中弄清楚如何做到这一点。我只能从Source Control Explorer中执行此操作。似乎没有办法将此Libs Windows文件夹直接添加到解决方案本身。
我看到你可以创建一个“解决方案文件夹” - 但这并不对应真正的Windows文件夹,它显然将文件放在顶级解决方案文件夹中。
我想知道是否有办法将Libs文件夹添加到解决方案中,以便它显然存在并由组件项目引用。
答案 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),我们在那里引用。如果新的外部库发生了变化,我们只需将其置于,重新链接,测试和重新编译即可。如果一切顺利,请提交并瞧。