.net - 查找给定程序集中不需要的类

标签 .net visual-studio-2012 .net-assembly

我有一个巨大的.Net 库,其中有几百个类。但是,我只使用这个库的一个子集。因此,我想仅使用必需的和依赖的类创建一个新程序集,而不是使用整个程序集。

是否有一种快速、免费且简单的方法来识别所需的类和依赖类?

手动不是一个选择,就像我说的,有几百个!

最佳答案

这可能无法以一般方式完成,让我解释一下原因。

如果您使用任何使用“约定优于配置”的库、模式或其他内容,100% 确定是否可以删除类的唯一方法是执行代码,并且您必须确保您执行所有场景的所有代码路径,这在大多数情况下是不可能的。

例如,如果任何代码使用反射来确定哪些类可用,则是否可以安全地删除该反射代码将找到的类将取决于找到该类后对该类所做的操作。

例如,您最终可能会从 ASP.NET MVC 4 程序集中删除类,因为看起来 View 类没有被使用,但它们是通过反射找到和使用的,而不是在代码中显式显示。

我的建议是要么忽略这一点,毕竟 2MB 并不算多,要么我会按主题将较大的项目拆分为较小的项目。这样,项目将仅引用它需要的类库部分。

关于.net - 查找给定程序集中不需要的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14213698/

相关文章:

msbuild - VS2012 中的 BeforeBuild 和其他目标发生了什么?

for-loop - F# 嵌套 for 循环中的编译错误,语法冗长

c# - 我的代码是托管的还是非托管的?

c# - 在 ASP.NET 2.0 Web 服务中公开其他类

visual-studio-2012 - Visual Studio 2012 将焦点更改为设计 Pane

javascript - 所选下拉项中页面加载时的事件勾号

c# - "System.ServiceModel.Primitives"- 找不到程序集或找不到依赖项

C# CompilerResults GenerateInMemory?

.net - Free fireworks (like the effect) .NET control for WinForms or WPF?

c# - 具有大数据集的不完整 HttpWebResponse