如何查找由Web应用程序加载的DLL?
问题描述:
在.NET中有没有一种方法可以清楚地看到一个进程(在这种情况下是IIS进程)加载了哪些DLL来运行应用程序?这是一个出于好奇的普遍问题(我不记得任何方式来检查一个.NET进程,并找出它正在使用的DLL),也因为我有两个Oracle DLL(x86和x64)运行和我想确定哪一个正在使用我的应用程序进行调试。如何查找由Web应用程序加载的DLL?
非常感谢!
答
我想这和它完美工作:
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
根据MSDN:
摘要:获取已加载到该应用程序域的 执行上下文的组件。
,如果你在你的ASP.NET应用程序运行这段代码的输出将包含:
- GAC组件一样mscorlib程序,System.Web程序等,在你的应用程序中引用
- 自定义组件
- 为您的页面和用户控件,global.ascx等构建的动态DLL(通常具有日志奇怪的名称)
这样做的工作。懒惰我没有更好地搜索:P – tucaz