获取应用程序所需的程序集列表

时间:2008-09-09 14:34:29

标签: .net reflection assemblies dependencies nsis

是否有办法将.net项目的所有必需程序集(不包括.net框架)放入准备打包成nsis作为安装文件的文件夹中?

我已经尝试编写一个小型控制台应用程序,它使用反射来获取dll列表但是却发现了一种确定dll是否来自.net框架的简单方法。

答案可能是在Visual Studio中输出所有依赖项的简单开关,或可以执行此操作的独立应用程序,或Nsis的插件,或者我错过的有关反射的一些信息。

3 个答案:

答案 0 :(得分:1)

在Visual Studio中(至少2005年 - 我现在正在使用的),与项目关联的每个引用都有一个名为“Copy Local”的属性,可以将其设置为true / false。如果为true,它会将dll复制到当前配置目录中。

答案 1 :(得分:1)

您可以使用NDepend。下载它,构建一个新的NDepend项目,将您的程序集拖放到Application Assemblies数据网格视图中,您将看到NDepend立即解析您的应用程序集程序集所需的层程序集。

您还可以提供一个文件夹列表,告诉NDepend在哪里查看。如果找不到层组件,那么NDepend会将其标记为未找到,我认为这是一个有价值的信息。

答案 2 :(得分:0)

Dependency Walker就是您所需要的。或者也许Depends.Net