.net dll依赖项检查

时间:2010-12-04 23:05:56

标签: .net assemblies

我有一个小的winforms应用程序,它使用大约20个外部dll。 应用程序初始化时,如何检查它们的存在? 说:“你没有一些dll,安装得很糟糕。”

3 个答案:

答案 0 :(得分:1)

您必须遍历应用程序中使用的所有自定义类型(使用反射),并尝试创建每个类型的实例。当然在try / catch中。然后抓住 FileNotFoundException 并告知用户是否缺少某些库。

当您创建应用程序中使用的类型实例时,AppDomain会加载所需的库(因此如果找不到文件,它将抛出异常)。

我认为这会有所帮助。

答案 1 :(得分:0)

如果缺少其中一个必需的程序集,CLR甚至可能无法加载您的应用程序。因此,您可以编写一个加载器应用程序,它将检查所需程序集是否存在以及它们是否存在Process.Start主应用程序。

答案 2 :(得分:0)

如果您使用插件式架构,那么您甚至可以根据需要解决所有依赖关系 - 并且您可以控制在无法解析依赖关系时会发生什么。

它不需要复杂 - 例如参见this simple approach