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);
    这两行调试下

    评论

报告相同问题?

悬赏问题

  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?