English 中文(简体)
一个解决方案中的大部分项目。
原标题:
  • 时间:2008-11-16 14:52:57
  •  标签:

对于VS 2005,会有导致性能问题的项目数量限制吗?我们现在有多达25个项目并且还在增长。我们应该将这些二进制引用还是将我们的应用程序逻辑分解成过多的不同项目中。最近似乎开始成为一个严重的性能问题。

最佳回答

拥有太多的DLL文件在运行时会造成成本,因此我建议您尝试尽量减少项目数量。创建几个解决方案也是一个选项,但是请尽量使解决方案彼此独立,以便您不必在几个解决方案中进行调试和实现新功能-这可能会很麻烦。

看一下这篇文章:项目反模式:在Visual Studio解决方案文件中有多个项目

问题回答

所有25个项目是否都存在依赖链?如果某些项目不依赖于其他项目,请将它们放在它们自己的解决方案中。

如果没有必要,不要编译整个解决方案,通常也不需要。通常,您可以右键单击您刚修改的项目,并仅编译该项目。VS将确定需要重新编译哪些依赖项目。

除非你打算触发断点,请使用“开始不带调试”。

一些 DLL 是否稳定且长时间未更改?它们也不必在您的解决方案中。

除非你真的需要,否则不要搜索整个解决方案。

真正的限制在于人类的思维。 一个项目中有多少个文件可以处理? 除非您使用ndepends来跟踪依赖项,否则将太多的类放入一个项目中可能会导致太多的类依赖于其他类,从而使更改更具挑战性和风险性。

通常情况下,我们尝试在解决方案中将项目数量控制在10个以下。超过10个后,编译时间和“项目重新加载”时间会变慢。

但这里的主要问题是为什么你有26个项目?一个简单的网站可以只有1个项目,同时保持数据层、业务层、呈现层都在同一项目中。

如果你只是为了这个三层结构而拆分项目,我建议你对此进行修订。例如,我们有三个“三层”项目。我们把三个层分别装配是因为我们期望其他软件在我们项目后期使用数据层。将业务层放在主呈现项目之外使我们能够轻松地对业务层进行单元测试,同时避免了无用的依赖关系在呈现图层之外。

因此,总体来说,请将项目保持在10个以下,并查看是否可以合并一些项目在一起。这既可以节省编译时间,也可以节省构建时间。这还将更容易管理这些DLL。

我会说它是建造时间的花费而不是运行时间。更少的构建时间会更快,但也许您并不总是构建所有内容。如果是这种情况,那么您应该减少数量。否则,将它们分成不同的解决方案。然后只有构建服务器需要构建它们所有,并且每日构建需要整夜构建;-) 我会说它是建造時間的花費而不是運行時間。更少的構建時間會更快,但也許您並不總是構建所有內容。如果是這種情況,那麼您應該減少數量。否則,將它們分成不同的解決方案。然後只有構建服務器需要構建它們所有,並且每日構建需要整夜構建;-)





相关问题
热门标签