如何将.exe加载为.NET程序集?

Joa*_*nge 14 .net c# reflection .net-assembly

我可以使用吗?:

Assembly.LoadFile
Run Code Online (Sandbox Code Playgroud)

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

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

有任何想法吗?

Gra*_*mas 8

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

例如:

private Assembly AssemblyEventHandler(object sender, ResolveEventArgs args)
{
    return locatedAssembly;
}
Run Code Online (Sandbox Code Playgroud)

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