我可以直接使用吗?:
Assembly.LoadFile
不确定这是否是这样做的方式?
但是当我尝试这种方法时,它会抛出一个Could not load file or assembly "CustomControlLib"
或它的一个依赖项。系统找不到指定的文件
任何想法?
你需要确保依赖项也被加载到应用程序域中。如果它们不是自动定位的,您可以订阅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()
。检查路径