问题是这样的:本机是win7系统,vs2012开发工具。当我创建一个窗体项目,生成为类库文件后,传到服务器上,后台调用这个文件后,下载到本地,生成为Assembly类型的数据,根据传入的类型命名空间和类型名得到type类型数据,根据方法名称得到MethodInfo类型数据,然后调用MethodInfo.Invoke方法后,就可以执行这个方法了。但是这个写法在我win764位平台跑是完全没问题的,但是发到其他windows平台就报错:路径中带有非法字符,不知道是什么原因,有没有大神能帮忙的,上一段代码:
F_NAMESPACE = sender["F_NAMESPACE"].ToString();
F_FUNCTIONNAME = sender["F_FUNCTIONNAME"].ToString();
F_ClASSNAME = sender["F_ClASSNAME"].ToString();
if (string.IsNullOrEmpty(F_ClASSNAME) || string.IsNullOrEmpty(F_FUNCTIONNAME) || string.IsNullOrEmpty(F_NAMESPACE)) return false;
Assembly assembly = GetAssembly(sender);
if (assembly == null) return false;
Type type = null;
MethodInfo mshow = null;
type = assembly.GetType(F_NAMESPACE + "." + F_ClASSNAME);
object obj = System.Activator.CreateInstance(type);
mshow = type.GetMethod(F_FUNCTIONNAME);
string str = sender["F_DLLFTP"].ToString();
//mshow.Invoke(obj, new object[] { psender });
mshow.Invoke(obj,null);
希望有大神能够帮忙,重谢
Assemblyassembly=GetAssembly(sender);
type=assembly.GetType(F_NAMESPACE+"."+F_ClASSNAME);
这两行调试下
调试了,是可以的,完全没有问题,就是在调用MethodInfo.Invoke的时候报错,但是在win764bit下又没有错
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。