我怎样才能得到我的进程中加载的文件列表?
-
21-09-2019 - |
题
我试图做一个项目的快速和肮脏的部署。我认为这将是轻松运行我的过程中,使用一些工具来抓取所有加载的文件列表(DLL)和使用该列表创建副本文件列表,我的测试部署。
约思想使用的filemon但有一个很大的噪音在那里。它是一种.NET项目。
感谢。
解决方案
您应该能够使用.NET的反射来分析应用程序的AppDomain(S)和转储加载的程序集和位置的列表。
var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (var assembly in loadedAssemblies)
{
Console.WriteLine(assembly.GetName().Name);
Console.WriteLine(assembly.Location);
}
其他提示
进程浏览器?
For Each Ass As Reflection.Assembly In CurrentDomain.GetAssemblies()
Console.WriteLine(Ass.ToString())
Next
这是在回答另一个问题已经
它的要点是使用电流程序域通过它们的装载机位置以获得组件和回路的列表。
如果我明白你的问题,做了快速部署,你可以在项目的所有引用,但设定的框架的人设置“复制本地”设置为true。
此方式,当你建立你的应用程序,您将拥有所有需要的DLL的输出目录(当然,几乎所有的,由你引用所需的引用将不会被自动复制,所以最好将其添加为一个本地引用过)。
希望这有助于。如果没有,只是说为什么,我会尝试继续这一点。
不隶属于 StackOverflow