我们有一个中等规模的解决方案,大约有20个项目。在其中之一中,我有我的业务实体。编译任何项目时,Visual Studio都会在此BusinessEntities项目上等待并挂约一分半钟。
我在SharpDevelop中尝试了我们的解决方案,并在18秒内编译了完整的解决方案。与MSBuild类似的时间。
我的猜测是VS试图找出项目是否需要编译,但是此过程比实际执行编译要慢15倍!
我无法切换到强大的SharpDevelop,它缺少一些小的但对我们的调试方案必不可少的要求。
我可以阻止VS检查此项目吗,并且让它像SharpDevelop一样未经检查就编译项目吗?
我已经知道在配置管理中取消选中项目以防止构建某些项目,但是我的开发人员会忘记他们在更新到最新资源后需要编译此项目,并且他们面临着看起来很奇怪的问题。
编辑:有趣的调查结果:延迟仅发生在一个项目上。在配置管理器中,我取消选中所有项目,然后分别编译每个项目。所有项目都将在几秒钟内完成编译!!关键在于:如果直接构建该特殊项目,并且由于构建了另一个依赖于该项目的项目而正在构建(或由于最新而被跳过,则在几秒钟之内进行编译)挂了大约一分半钟,然后决定对其进行编译(或跳过它)。我的结论是:Visual Studio正在检查是否有文件被更改,但是由于某些原因,由于这个特殊项目,它的效率极低!