使用Assembly. load(路径)时找不到文件或程序集
本文关键字:找不到 文件 程序集 Assembly load 路径 使用 | 更新日期: 2023-09-27 17:50:38
我正在实现一个ASP。. NET MVC 4应用程序,支持插件,因为今天我有一个奇怪的行为,我不知道为什么:
我通过Assembly.Load(path)
加载插件,几天前工作得很好,但锁定了我的文件,因为影子复制不工作,因为插件文件夹在/bin
之外。
正因为如此,我使用Assembly.Load(File.ReadAllBytes(path))
也工作得很好,但我认为不是真正干净的代码,所以今天我移动了我的插件文件夹内的/bin
和切换回Assembly.Load(path)
,但现在我得到以下例外(翻译为我得到它在我的语言环境)时执行我的代码:
无法加载文件或程序集"PATH_TO_MY_DLL"或其依赖项之一。给定的程序集名称或代码库无效。(Exception from HRESULT: 0x80131047)
如果我切换回Assembly.Load(File.ReadAllBytes(path))
它的工作原理,但为什么它不工作时直接加载文件了吗?
我觉得你把它改回来是搞错了。
Assembly.Load(string name)
:加载名为"name"的程序集。
你应该使用:
Assembly.LoadFile(path);