如何查找Web应用程序加载的DLL?

tuc*_*caz 3 .net asp.net iis debugging

有没有办法在.NET中清楚地看到进程(在这种情况下是IIS进程)加载运行应用程序的DLL是什么?

这是一个普遍的问题出于好奇(我不记得任何方式来检查.NET进程并找出它正在使用的DLL),还因为我有两个Oracle DLL(x86和x64)运行,我想确保哪一个正在使用我的应用程序进行调试.

非常感谢!

Mo *_*our 6

我试过这个并且完美地工作了:

var assemblies = AppDomain.CurrentDomain.GetAssemblies();
Run Code Online (Sandbox Code Playgroud)

根据MSDN:

摘要: 获取已加载到此应用程序域的执行上下文中的程序集.

如果在ASP.NET应用程序中运行此代码,则输出将包含:

  • GAC程序集,如mscorlib,System.Web等.
  • 应用中引用的自定义程序集
  • 为您的页面和用户控件,global.ascx等构建的动态DLL ...(通常具有日志奇怪的名称)