我有一个由大约 50 个源文件组成的 C++/CLI 程序集。此程序集中的代码静态链接到许多 C++ 库以执行各种“繁重”类型的任务。
我正在使用 Visual Studio 8 (2005) SP1 来构建这个程序集。
在一台不错的双核机器上,通过“仅项目”->“仅重建”仅构建此程序集(无依赖关系等)大约需要 4.5 分钟。以下是带有大致时间注释的缩写构建输出:
Compiling...
(file 0)
(file 1)
...
(file N) // About 2 min total to compile all files
Linking... // About 12s
Generating Code // 42s
Finished Generating Code // < 1s
Embedding Manifest // < 1s
Generating Code // 30s
Finished Generating Code
(15 seconds of nothing)
Done
我应该如何开始调试为什么这个程序集需要这么长时间才能构建?编译和链接时间虽然不是很好,但可能与我对这种规模的项目的期望差不多。令我担心的是,我看到了两个“生成代码”步骤,每个步骤都比大多数其他项目花费的时间长得多。
我的第一个猜测是,这与链接到程序集的非托管代码的数量有关。但是,我有几个托管应用程序项目使用同样多的本机代码,并且构建时间非常合理。
有谁知道究竟是什么导致了两个“生成代码”步骤需要这么长时间?是否有我缺少的项目设置?