如何将.exe加载为.net程序集

本文关键字:net 程序集 加载 exe | 更新日期: 2023-09-27 17:53:22

我可以直接使用吗?:

Assembly.LoadFile

不确定这是否是这样做的方式?

但是当我尝试这种方法时,它会抛出一个Could not load file or assembly "CustomControlLib"或它的一个依赖项。系统找不到指定的文件

任何想法?

如何将.exe加载为.net程序集

你需要确保依赖项也被加载到应用程序域中。如果它们不是自动定位的,您可以订阅AppDomain.AssemblyResolve,以便在需要时手动查找和加载程序集。

例如:

private Assembly AssemblyEventHandler(object sender, ResolveEventArgs args)
{
    return locatedAssembly;
}

另外,我会考虑使用Assembly.LoadFrom,特别是在阅读了nobugz的强烈断言和一些好的阅读链接之后(所有日期都过时了,但在大多数情况下应该仍然可以承受)

如果您使用Assembly.LoadFrom(),依赖项将从程序集所在的目录加载。

Assembly.LoadFile()忽略同一文件夹中的所有其他dll和exe文件。

是的,你可以像加载Dll一样加载。net exe。您得到的错误是由exe的依赖项引起的。确保可以找到这些依赖项,即在您的程序集搜索路径中。

是的,您可以使用Assembly.LoadFile()。检查路径