gpt4 book ai didi

c# - Visual Studio 开始构建之前的长时间延迟

转载 作者:太空狗 更新时间:2023-10-29 18:00:05 25 4
gpt4 key购买 nike

我有一个包含 50 个项目的解决方案,每个项目至少有 100 个文件(我认为这是相关的)。

问题是当我构建解决方案或单个项目时,在写入“构建输出”窗口之前有 5 到 10 秒的延迟。将“Bu​​ild Output”的详细程度设置为“Diagnostic”不会给出任何延迟原因的指示。这种延迟甚至发生在没有文件被更改(之前构建)的情况下。

=== Build: 0 succeeded, 0 failed, 10 up-to-date, 0 skipped ==========

当有变化时,在构建输出中,它表示构建大约需要 2 秒才能完成,但是端到端大约需要 7 到 12 秒。

构建输出:

1>(omitted)
1>Time Elapsed 00:00:01.99
========== Build: 1 succeeded, 0 failed, 9 up-to-date, 0 skipped ==========

MSBuild:

Build succeeded.
0 Warning(s)
0 Error(s)

Time Elapsed 00:00:02.17

C:\Projects\SharedKernel.Tests>

通过命令行运行 MSBuild 没有这种延迟,2.17 秒是按下键盘完成的时间。

据我所知,msbuild 任务本身在 Visual Studio 中执行得很快,但似乎 Visual Studio 在 msbuild 任务开始之前在幕后做了一些事情导致了这种延迟。

当我通过 Process Monitor 检查 Visual Studio (devenv.exe) 时我注意到为项目中的每个文件和文件夹以及项目的依赖项调用了 CreateFileQueryDirectoryCloseFile。这似乎与查看时间轴时的延迟有关。

如何减少从 Visual Studio 中开始构建构建过程(右键单击项目 > 构建)到构建实际发生的延迟?

我查看了以下解决方案的答案,但是它们要么没有减少延迟,要么根本不适用:

最佳答案

我认为您的问题是“我有一个包含 50 个项目的解决方案”。根据我的经验,这不应该用于开发。这应该只用于构建服务器。所以我要做的是制作几个解决方案文件。一个大的包含构建服务器的所有项目,几个大的只包含几个用于开发的项目。这几个解决方案的包装应该以经常一起变化的内容为指导。如果答案是一切,我会质疑项目结构。

因为我并没有真正回答你的问题,与 msbuild 相比,vs 到底做了什么,所以我通常会把它写成评论。但是我现在的声誉还不够(正在努力)但是因为没有其他人推荐这个,我认为它可能值得回答。还是这太明显以至于没有人指出这一点?那么请原谅我。

关于c# - Visual Studio 开始构建之前的长时间延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28865273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com