2011-03-28 125 views
0

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

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

具体来说,我会打电话Assembly.Load<LoadedAssebmly>.FullName。也许有更好的方法来加载程序集名称而不使用Assembly类?

谢谢, 马特

回答

1

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

+0

完美!这是我需要做的。我认为这不太可能在Daniel的文章中提到的模块初始化器? – 2011-03-28 13:18:04

+1

它不应该,但我建议你从安全角度确定这对你是否重要。 – 2011-03-29 05:55:59

相关问题