c# - Visual Studio 开始构建前的漫长等待

我们有一个中等规模的解决方案,大约有 20 个项目。在其中一个中,我有我的商业实体。在编译任何项目时,Visual Studio 会在这个 BusinessEntities 项目上等待并挂起大约一分半钟。

我在 SharpDevelop 中试用了我们的解决方案,它在 18 秒内编译了我们的完整解决方案。与 MSBuild 的时间类似。

我的猜测是 VS 试图找出项目是否需要编译,但这个过程比实际执行编译慢了大约 15 倍!

我无法切换到出色的sharpdevelop,它缺少我们调试场景的一些小但必不可少的要求。

我可以阻止VS检查这个项目,并让它编译没有这样检查的项目,就像sharpdevelop一样?

我已经知道在配置管理中取消选中项目以防止构建某些项目,但是我的开发人员会忘记他们需要在更新到最新源后编译这个项目,并且他们面临着对他们来说似乎很奇怪的问题。

编辑:有趣的调查结果:延迟仅发生在其中一个项目上。在配置管理器中,我取消选中所有项目,然后单独编译每个项目。所有项目在几秒钟内编译!!关键是:如果该特殊项目是直接构建的,则在几秒钟内编译,如果它正在构建(或跳过,因为它是最新的)作为构建另一个依赖它的项目的结果,VS挂起大约一分半钟,然后决定编译它(或跳过它)。我的结论:Visual Studio 正在检查是否有任何文件被更改,但由于某些原因,对于这个特殊项目来说效率极低!!

最佳答案

我会转到 Tools -> Options -> Projects and Solutions -> Build and Run,然后将“MSBuild project build [output|build log] verbosity”更改为 Diagnostic。在该级别,它将包含有助于您追踪问题的时间安排。

https://stackoverflow.com/questions/12087068/

相关文章:

visual-studio-2010 - Visual Studio 未知生成错误。完全限定名称必须

android - 在 iOS 中,我们在 Android 上是否有类似 Gradle Build

git - 如何动态选择要在 Jenkins 构建中使用的 git 分支

build - Jenkins/Hudson 中有哪些属性可用于构建配置?

java - Eclipse ADT appcompat... 它是什么?

c++ - 如何使用语言支持等进行 "light"构建的 GCC 修剪?

visual-studio-2010 - 错误 MSB6006 : "cmd.exe" exited

visual-studio - VS中平台和平台目标的区别

javascript - 与 webpack/browserify 捆绑时如何排除代码路径?

android - 在 Eclipse 中构建多个(测试/生产)版本的 Android APK