关于.net:获取应用程序所需的程序集列表

关于.net:获取应用程序所需的程序集列表

Getting a list of assemblies needed by application

有没有一种方法可以将.net项目的所有必需程序集(.net框架除外)放入准备好打包为安装文件的nsis文件夹中?

我尝试编写一个小型控制台应用程序,该应用程序使用反射来获取dll列表,但一直难以找到确定dll是否来自.net框架的万无一失的方法。

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


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

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


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


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


推荐阅读