Reflection 在加载程序集时是否有方法运行代码?

Reflection 在加载程序集时是否有方法运行代码?,reflection,.net-4.0,appdomain,Reflection,.net 4.0,Appdomain,我正在构建一个应用程序,该应用程序将加载不受信任的程序集进行检查(即检索程序集全名)。出于安全考虑,我正试图想出一种编写这些程序集的方法,允许它们在加载时执行代码。我还没有编写出一个方法,但我想把它扔到这里,看看是否有人可以 我知道我可以将这些程序集加载到不受信任的应用程序域中,有效地阻止它们做任何事情,但如果不需要,我希望避免复杂性 具体来说,我将调用Assembly.Load和.FullName。也许有更好的方法来加载程序集名称而不使用assembly类 谢谢, Matt首先,是Assemb

我正在构建一个应用程序,该应用程序将加载不受信任的程序集进行检查(即检索程序集全名)。出于安全考虑,我正试图想出一种编写这些程序集的方法,允许它们在加载时执行代码。我还没有编写出一个方法,但我想把它扔到这里,看看是否有人可以

我知道我可以将这些程序集加载到不受信任的应用程序域中,有效地阻止它们做任何事情,但如果不需要,我希望避免复杂性

具体来说,我将调用
Assembly.Load
.FullName
。也许有更好的方法来加载程序集名称而不使用
assembly

谢谢,
Matt

首先,是
AssemblyName
类。它允许您在不加载程序集的情况下查找程序集的名称。其次,您可以使用
Assembly.ReflectionOnlyLoad
加载程序集,该程序集使用仅反射的上下文--无法从此类程序集执行任何代码。

是的,可能:


我建议您使用一种不加载组件的方法来检查组件,即

完美!这就是我需要做的。我假设Daniel的帖子中提到的模块初始值设定项不容易出现这种情况,但我建议您确保从安全角度来看,这对您是否很重要。