请教一个c#与操作系统的问题

devilli 2015-03-20 02:47:00
原来的程序是在Window XP操作系统下,.net3.5框架下,vs2008开发的,在xp系统下运行正常,
现在要把程序放到win7下运行,结果报错了,运行到这里

MethodInfo method = currentObject.GetType().GetMethod("setContext");
method.Invoke(currentObject, new object[] { context });
method = currentObject.GetType().GetMethod("setName");
method.Invoke(currentObject, new object[] { actionObject.ActionId });
method = currentObject.GetType().GetMethod("execute");
method.Invoke(currentObject, null);-------这行报:调用的目标发生了异常

请问这是什么问题,怎么解决呢?
...全文
149 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
本拉灯 2015-03-20
  • 打赏
  • 举报
回复
AxInterop.ShockwaveFlashObjects.dll 你都用到了这个还用返射做啥。 直接引用就可以了呀。还有你要看这个组件在WIn7下的API是否有变化了。这东西很难说能跟XP是一样的。
於黾 2015-03-20
  • 打赏
  • 举报
回复
这个没用过,有没有影响,你在win7上安装个vs调试一下不就知道了
devilli 2015-03-20
  • 打赏
  • 举报
回复
还真是,你说的对啊 用到了这个:AxInterop.ShockwaveFlashObjects.dll 这个有影响么?
於黾 2015-03-20
  • 打赏
  • 举报
回复
XP下运行正常,不代表WIN7下运行也必须正常 因为不知道你execute函数里到底干了什么,比如是否调用了API,而XP下的API和WIN7下是不一样的 或者你调用了什么COM组件,DLL,而在XP下这些东西不需要注册,而WIN7下需要注册 好歹你先调试出真正出错的地方,再找原因,不要靠瞎猜
devilli 2015-03-20
  • 打赏
  • 举报
回复
但是同样的代码,在xp下运行正常啊
於黾 2015-03-20
  • 打赏
  • 举报
回复
你是反射执行的函数 函数里出了问题,你又没加异常捕获,当然就直接给你报反射错误了 检查execute的代码吧
devilli 2015-03-20
  • 打赏
  • 举报
回复
把源程序移到win7系统下,编译是没有问题的,只是运行生成的exe后,在这里报错

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧