检查装配是否已装入

时间:2014-10-13 21:37:03

标签: c# reflection

是否有一种编程方式来确定何时加载了一个程序集?

我知道如何从正在执行的程序集中检查已加载的程序集,但我想从"内部"将要加载的程序集。

这样我就可以确定应用程序(正在使用已加载的程序集)已经启动,但是我的加载程序集中的类没有被实例化/到目前为止还没有调用任何方法。

1 个答案:

答案 0 :(得分:5)

您要查找的是在加载模块/程序集时调用的函数。在.NET之前的世界中,它是DllMain功能。 .NET中存在相应的函数,但无论出于何种原因,您只能在C ++ / CLI中使用C#或VB.NET创建它。它被称为模块构造函数。您可以操纵程序集以注入此类模块构造函数。因此,无论何时加载程序集,都会在进一步访问此程序集之前从程序集内部调用此函数。如何做到这里解释:http://einaregilsson.com/module-initializers-in-csharp/