我有一个巨大的.Net 库,里面有几百个类。但是,我只使用这个库的一个子集。所以我想只用必需的和依赖的类而不是使用整个东西来创建一个新的程序集。
是否有一种快速、免费且简单的方法来识别所需的类和依赖类?
手动不是一种选择,就像我说的那样,有几百个!
我有一个巨大的.Net 库,里面有几百个类。但是,我只使用这个库的一个子集。所以我想只用必需的和依赖的类而不是使用整个东西来创建一个新的程序集。
是否有一种快速、免费且简单的方法来识别所需的类和依赖类?
手动不是一种选择,就像我说的那样,有几百个!
这可能无法以一般方式进行,让我解释一下原因。
如果您使用任何使用“约定优于配置”的库、模式或诸如此类的东西,那么 100% 确定是否可以删除类的唯一方法是执行代码,并且您必须确保执行所有场景的所有代码路径,这在大多数情况下是不可能的。
例如,如果任何代码使用反射来确定哪些类可用,那么您是否可以安全地删除该反射代码会找到的类将取决于找到后对该类所做的操作。
例如,您最终可能会从 ASP.NET MVC 4 程序集中删除类,因为看起来 View 类没有被使用,但它们是通过反射找到和使用的,而不是在您的代码中显式地使用。
我的建议是要么忽略这一点,毕竟 2MB 并不算多,要么我会按主题将较大的项目拆分为较小的项目。这样,项目只会引用它需要的类库部分。
N依赖 4.0。14 天全功能 - 免费试用是我用来完成任务的。
感谢dandan78的提示!