我正在尝试加载一个程序集并从中动态创建类。这是代码:
assembly = Assembly.Load(assemblyName);
var type = assembly.GetType(assemblyName + ".MessageProcessor");
var processor = (IMessageProcessor)Activator.CreateInstance(type);
processor.Process();
问题是程序集名称属于项目中未引用的程序集。我手动将其部署到执行文件夹。
但是我收到这个错误:
Could not load file or assembly 'AssemblyNameToLoad, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
我无法手动将所有这些文件添加到 deps.json
。尽管 deps.json
文件中不存在,但有没有办法制作 .NET Core 加载程序集?
最佳答案
LoadFrom加载“物理”文件时应该可以解决您的问题。
我应该补充一点,你仍然需要与它进行通信,所以最好了解它,除非你想进行所有反射,所以 loader 和 loaded 应该引用同一个契约(Contract)项目。
关于c# - Assembly.Load 用于不在 deps.json 文件中的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54073459/