3

我正在实现一个支持插件的 ASP.NET MVC 4 应用程序,从今天开始我有一个奇怪的行为,我不知道为什么:
我加载Assembly.Load(path)了几天前工作正常的插件,但是锁定了我的文件,因为影子复制没有作为插件文件夹在外面工作/bin
因此,我使用Assembly.Load(File.ReadAllBytes(path))它也可以正常工作,但我认为代码不是很干净,所以今天我将我的插件文件夹移到里面/bin并切换回Assembly.Load(path),但现在我得到以下异常(在我的语言环境中翻译)执行我的代码:

无法加载文件或程序集“PATH_TO_MY_DLL”或其依赖项之一。给定的程序集名称或代码库无效。(来自 HRESULT 的异常:0x80131047)

如果我切换回Assembly.Load(File.ReadAllBytes(path))它可以工作,但是为什么直接加载文件时它不再工作了?

4

1 回答 1

4

我认为你在改回来时犯了一个错误。

Assembly.Load(string name): 加载名为“name”的程序集。

你应该使用:

Assembly.LoadFile(path);
于 2013-01-04T18:27:34.687 回答