微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我正在尝试使用反射从命令行应用程序调用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 举报,一经查实,本站将立刻删除。