如何在作为字节数组加载的程序集中使用Type

本文关键字:程序集 程序 集中 Type 加载 数组 字节数 字节 | 更新日期: 2023-09-27 18:19:19

我有一个存储在字节数组中的程序集,我想使用其中的Type

我可以在开发时将其保存到文件,并在项目的参考文献中引用它。但是,当部署时,文件不在那里,程序崩溃。如果我没有引用它- Visual Studio抱怨类型不存在,当然。

我尽量避免使用反射,如果可能的话。这个问题意味着,当预先可以使用程序集时,它应该是简单的。

问题是而不是如何加载程序集。而是-如何像使用其他代码一样使用它中的可用类-具有智能感知等

如何在作为字节数组加载的程序集中使用Type

我认为您可以使用静态AssemblyResolve事件

AppDomain.CurrentDomain.AssemblyResolve += (s, e) =>
    {
        //Use e.Name
        //Load assembly form byte[] and return it.
        return Assembly.Load(byteArray);
    };