2011-03-26 58 views
1

首先感谢。 我正在学习nopcommerce,这是我需要编译引用其他项目的webiste项目。 所以当我complie的网站外,其他58项目也再次编译即使我没有改变在如何提高vs2010的编译速度

回答

1

您可以控制将在Configuration Manager屏幕(Build - > Configuration Manager)中构建哪些项目。使用此选项仅选择您打算处理的项目。下一次您构建解决方案时,取消选择的项目不会生成,并会在构建输出中报告为“跳过”。

如果您以后需要构建一个您已经选择的项目,可以在解决方案资源管理器中右键单击该项目,然后单击“构建”以构建该项目。

+0

如果您忘记了取消选择了某些项目并修改了代码,那么这可能会让您感到困惑,因此如果您选择了此路线,则可能需要考虑创建一个新的配置来处理缩减构建。同样值得注意的是,除非您“卸载”其他项目,否则您将得不到相同的内存使用优势,因此减少了解决方案的规模(我认为如果您使用的是像resharper这样的插件,这更是一个问题)。 – forsvarir 2011-03-27 08:37:52

2

点儿你真的需要拥有所有其他项目的在同一个解决方案吗?

通常有一种方法可以对项目进行分区,从而使它们之间的组相互关联,这些方案的规模较小。

如果您只是更改顶级网站项目(根据您的描述可能是这种情况),那么您可能最好有另一个只有该网站投影的解决方案。而不是具有项目级参考在你的网站项目中,你可以有二进制文件(指向其他项目的程序集输出)。这样,当您对网站项目进行更改时,它不必去检查所有依赖关系,以确保它们都是最新的。

Idealy,你会重组项目的方式,创造明智的分裂,这将取决于你的58个项目负责。您也可能需要更改一些工作/构建/发布实践,以确保所有正确的二进制文件都在开发/发布时正在构建和引用,但这是过去对我而言的一种方法。

+0

谢谢,我撤消了大多数项目的参考,而是参考了项目的二进制文件,现在很快,谢谢。 – Alexey 2011-03-27 14:03:36

0

对于Visual Studio 2010,您需要尚未开发的超级机器。特别是如果你正在使用C++项目。 C#编译器更加优化。我前一段时间想过,如果将新的IDE用于旧版编译器(VS 2005或VS 2008)可能会很酷。

+0

在我们的一个项目中,我测试的编译时间比VS 2005高1.8倍(8分钟而不是4.5分钟)。 – truthseeker 2011-04-21 08:13:13