wojiushichi 2017-03-29 02:39 采纳率: 0%
浏览 1819

C#中MethodInfo.Invoke报错:路径中带有非法字符

问题是这样的:本机是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);

希望有大神能够帮忙,重谢

  • 写回答

2条回答 默认 最新

  • threenewbee 2017-03-29 02:42
    关注

    Assembly assembly = GetAssembly(sender);
    type = assembly.GetType(F_NAMESPACE + "." + F_ClASSNAME);
    这两行调试下

    评论

报告相同问题?

悬赏问题

  • ¥88 实在没有想法,需要个思路
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)