程序集是否需要物理存在于磁盘上?

时间:2013-07-02 14:47:23

标签: c# .net-assembly appdomain

我(可能在我之前可能这么多)尝试使用已弃用的Assembly.Load(Byte[])方法将程序集加载到应用程序域中,其中所述程序集数据通过网络传输,因此在技术上没有物理存在。我想我已经通过几乎所有的角落来尝试让它发挥作用,但我相信这是不可能的(至少可能使用我目前的方法)。

我想我的问题是,为了加载程序集,它必须位于应用程序的CodeBase / GAC中吗?如果是这样,为什么会这样?

2 个答案:

答案 0 :(得分:1)

不,这不是真的。您可以从字节数组加载程序集;该阵列可以来自任何地方。作为一个例子,我之前使用过一个系统,该系统从组件中加载插件,这些组件作为二进制字段存储在数据库中。

(也许你应该问另一个问题并包括你面临的问题,这样你就可以开始工作: - )

答案 1 :(得分:1)

当然不是。您只需要.dll文件的实际byte []数据,在调用Load方法后,它在CLR中加载一切正常。