我可以只使用以下代码吗?:
Assembly.LoadFile
我不确定这是否是正确的方法?
但是,当我尝试该方法时,它抛出了Could not load file or assembly "CustomControlLib"
或其依赖项之一。系统找不到指定的文件。
有什么想法吗?
我可以只使用以下代码吗?:
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()
。检查您的路径。