使用反射调用另一个应用程序方法时缺少引用

问题描述

我正在尝试使用反射从命令行应用程序调用winForms应用程序中的方法。此方法以加载的配置启动应用程序。

Assembly exeApp = Assebmly.LoadFile(exeAppPath);
Type classtype = exeApp.GetType(nameSpace);
object obj = classtype.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
MethodInfo exeMethod classtype.getmethod(MethodName);

exemethod.Invoke(obj,args);

使用此方法,我可以调用方法,但是我的目标exe文件中的所有引用程序集都出现以下异常:

抛出异常:winFormsApp.exe中的'System.IO.FileNotFoundException'
附加信息:无法加载文件或程序集'refAssemblyName,版本= 1.0.0.0,区域性=中性,PublicKeyToken =空'或其依赖项之一。系统找不到指定的文件

如果我在命令行应用程序中添加了对所有这些程序集的引用,它将正常工作。

这里的问题是,exe参考不断根据发行版进行更改/更新,这使得每次都难以更新/发行命令行应用程序。

有什么方法可以使它工作而无需在命令行应用程序中添加引用?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)