【问题标题】:Only keep used types and remove unused types仅保留使用的类型并删除未使用的类型
【发布时间】:2016-12-13 20:13:09
【问题描述】:

有没有办法从项目中删除未使用的类型/代码。 假设我在我的控制台应用程序中使用NAudio(源代码),而我只使用其中的WaveIn 类。我有什么办法可以从代码中删除未使用的类,只保留 WaveIn 类和 WaveIn 依赖的类?摇树下的东西

【问题讨论】:

  • 您的意思是从已编译的程序集中删除它?不是没有重新编译程序集。
  • 你为什么觉得有必要这样做,你希望解决什么问题?
  • 不,我的意思是源代码
  • 我需要减小编译后的exe的大小
  • 抱歉,我没有很好地阅读你的问题,很糟糕,星期一早些时候没有足够的咖啡。我不知道除了 也许 ReSharper 之外的任何此类工具,它会将一个类标记为未使用,但它实际上可能不会在这里给你任何帮助,因为大概有很多类相互使用,它只是你的程序不使用它们。

标签: c# visual-studio refactoring resharper ndepend


【解决方案1】:

Ndepend 就是答案

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

其中NAudioTrim.Program 包含我的应用程序的入口点并包含使用的类型。 一旦你得到所有使用的类型和他们使用的类型的列表,你就可以删除其余的文件/类型

【讨论】:

    猜你喜欢
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 2021-11-20
    相关资源
    最近更新 更多