获取应用程序所需的程序集列表
时间:2020-03-05 18:50:06 来源:igfitidea点击:
有没有一种方法可以将.net项目的所有必需程序集(.net框架除外)放入准备好打包为安装文件的nsis文件夹中?
我尝试编写一个小型控制台应用程序,该应用程序使用反射来获取dll列表,但一直无法找到确定dll是否来自.net框架的简便方法。
答案可能是在Visual Studio中进行简单的开关以输出所有依赖关系,或者是可以执行此操作的独立应用程序,或者是Nsis的插件,或者是我错过的一些反射信息。
解决方案
回答
在Visual Studio(至少我现在使用的是2005)中,与项目关联的每个引用都具有一个名为" Copy Local"的属性,可以将其设置为true / false。如果为true,它将为我们复制dll到当前配置目录。
回答
我们需要的是Dependency Walker。或者也许Depends.Net
回答
我们可以为此使用NDepend。下载它,构建一个新的NDepend项目,将程序集拖放到"应用程序程序集"数据网格视图中,我们将看到NDepend立即解决应用程序程序集集所需要的层程序集。
我们还可以提供文件夹列表,以告诉NDepend在哪里查看。如果找不到层级程序集,则NDepend会将其标记为未找到,这是有价值的信息。