Для проектов C # вы можете использовать Ildasm.exe
. Посмотрите на манифест для директив .assembly. Компилятор C # автоматически удаляет те, которые не используются. Если вы видите ссылку в узле «Ссылки» проекта, которая не имеет соответствующей директивы .assembly, вы можете удалить ее.
Не уверен, что компилятор C ++ / CLI также делает это. Попробуйте.
C ++ намного сложнее, потому что инструменты сборки могут генерировать файлы за пределами .lib. Как библиотека типов, созданная из IDL и используемая управляемым кодом. Или файл .h из IDL. Или файл .res из файла .rc. Также вероятно, что есть зависимость, которую еще никто не нашел. Тип, который нарушает сборку, когда вы используете машину с большим количеством ядер.
Вы можете узнать, используется ли static или import .lib, проанализировав выходные данные компоновщика с параметром / VERBOSE. В (большом) выводе будет строка, когда она использует символ из .lib. Удалите отсутствующие зависимости проектов, изменив порядок проектов в файле .sln и выполнив чистую сборку, заставив использовать только один ЦП.