gpt4 book ai didi

c# - 使用 Assembly.Load(path) 时找不到文件或程序集

转载 作者:行者123 更新时间:2023-11-30 15:36:01 28 4
gpt4 key购买 nike

我正在实现一个支持插件的 ASP.NET MVC 4 应用程序,从今天起我有一个奇怪的行为,我不知道为什么:
我通过 Assembly.Load(path) 加载插件,这在几天前运行良好,但由于插件文件夹在 /bin 之外,影子复制不起作用而锁定了我的文件>.
因此,我使用了 Assembly.Load(File.ReadAllBytes(path)) 也可以正常工作,但我认为这不是真正干净的代码,所以今天我将我的插件文件夹移到了 /bin 并切换回 Assembly.Load(path),但现在在执行我的代码时出现以下异常(在我的语言环境中进行翻译):

Could not load file or assembly "PATH_TO_MY_DLL" or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)

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

最佳答案

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

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

你应该使用:

Assembly.LoadFile(path);

关于c# - 使用 Assembly.Load(path) 时找不到文件或程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14162650/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com