Сохраняйте только используемые типы и удаляйте неиспользуемые типы

Есть ли способ удалить неиспользуемые типы / код из проекта. допустим, я использую NAudio (исходный код) в своем консольном приложении, и я использую только класс WaveIn из него. Могу ли я удалить неиспользуемые классы из кода и оставить только класс WaveIn, а классы, от которых WaveIn зависят? Что-то внизу трясется


person Abdullah Saleem    schedule 08.08.2016    source источник
comment
Вы имеете в виду удалить его из скомпилированной сборки? Не обошлось и без перекомпиляции сборки.   -  person Lasse V. Karlsen    schedule 08.08.2016
comment
Почему вы чувствуете необходимость в этом, какую проблему надеетесь решить?   -  person Lasse V. Karlsen    schedule 08.08.2016
comment
Нет, я имею в виду из исходного кода   -  person Abdullah Saleem    schedule 08.08.2016
comment
Мне нужно уменьшить размер скомпилированного exe   -  person Abdullah Saleem    schedule 08.08.2016
comment
Извините, я недостаточно хорошо прочитал ваш вопрос, мой плохой, ранний понедельник недостаточно кофе. Я не знаю ни одного такого инструмента, кроме возможно ReSharper, который будет отмечать класс как неиспользуемый, но на самом деле он может не оказать вам никакой помощи, поскольку предположительно существует много классов, которые используют друг друга, это просто что ваша программа их не использует.   -  person Lasse V. Karlsen    schedule 08.08.2016
comment
да, это именно та проблема, с которой я столкнулся   -  person Abdullah Saleem    schedule 08.08.2016


Ответы (1)


Ndepend был ответом

from t in Types 
let depth0 = t.DepthOfIsUsedBy("NAudioTrim.Program")
where depth0  >= 0 orderby depth0
select new { t, depth0 }

где NAudioTrim.Program содержит точку входа моего приложения и используемые типы. Как только вы получите список всех используемых типов и типов, которые они используют, вы можете удалить остальные файлы / типы.

person Abdullah Saleem    schedule 09.08.2016