У меня есть сборка C++/CLI, состоящая из примерно 50 исходных файлов. Код в этой сборке связывает статически с несколькими библиотеками C++ для выполнения различных задач типа «тяжелый».Visual Studio 8: Время сборки в сборках смешанного режима
Я использую 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
Как я должен начать отладку, почему эта сборка занимает так много времени, чтобы построить? Время компиляции и ссылки, хотя и не очень хорошее, вероятно, связано с тем, что я ожидаю от проекта такого размера. Меня беспокоит тот факт, что я вижу два шага «Generating Code», каждый из которых занимает гораздо больше времени, чем большинство других проектов.
Мое первое предположение заключалось в том, что это связано с количеством неуправляемого кода, связанного с сборкой. Тем не менее, у меня есть несколько проектов управляемых приложений, которые используют столько же собственного кода, и время сборки очень разумно.
Кто-нибудь знает, что именно может привести к двум шагам «Generating Code», которые занимают так много времени? Есть ли проект, который мне не хватает?