【发布时间】:2011-01-03 12:35:31
【问题描述】:
我有一个 Visual Studio 2008 解决方案,其中包含 >40 个相互依赖的 C# 和 C++/CLI 项目。使用该解决方案非常缓慢,通常我一次只需要几个项目。因此,我决定将解决方案拆分为包含 3-5 个项目的多个解决方案。 我还想为所有项目保留“完整”解决方案(这对于自动构建或影响所有项目的大型重构操作很方便)。(这是这里的主要条件。否则,拆分当然,将项目转化为解决方案是微不足道的。)
有什么办法吗?
我的第一个想法是创建新的空解决方案并将一些现有项目文件添加到每个解决方案中。但是如果我这样做,VS 就找不到项目引用了(因为它们不在同一个解决方案中)。我可以将引用添加为“普通”文件引用。但如果我这样做,我的“完整”解决方案将不再起作用,因为依赖项丢失了。
编辑:
谢谢大家的回答。我想澄清一下我的问题:我的解决方案包含 44 个项目,不包括测试。所以把它分成两部分并不是我真正的想法,我更多的是考虑 5-8 部分。这就是为什么我想保留“完整”解决方案,让 VS 可以找出完整构建的正确构建顺序。手动维护 8 个单独解决方案的构建顺序(例如在批处理文件中)对我来说似乎很容易出错。
我还想“按逻辑”对项目进行分组(即,我希望将通常在一个解决方案中一起修改的项目放在一起)。但是该分组并不总是与依赖项匹配。例如,假设我有依赖链
A is referenced by B is referenced by C is referenced by D
并想象 A 和 D 经常一起修改,但 B 和 C 很少改变。 (显然,B 使用的 A 的接口必须保持不变。)然后我希望 A 和 D 在一个解决方案中,B 和 C 在另一个解决方案中。但是,如果我想从头开始构建所有项目,那么只有当我可以拥有一个包含 A、B、C 和 D 的完整“完整”解决方案时,这才有效。构建完成后,我可以打开我的 A/D 解决方案并仅编辑/构建这两个项目。
但我担心我的问题没有优雅的解决方案。 (双关语不是故意的)
【问题讨论】:
标签: visual-studio visual-studio-2008