小明_PlayBoy 2016-11-17 06:54 采纳率: 0%
浏览 991
已结题

在win7上编译成功的.net程序在windows xp上报错

在win7上编译成功并且运行也没有错,安装到windows xp上后报错!根据错误日志,可以知道是在利用反射机制创建窗体的时候出错!
程序运行到第二行时出错,
Type t = Type.GetType(frmfullname);

第二行 Object obj = (Object)Activator.CreateInstance(t);
OfficeForm oForm = (OfficeForm)obj;
oForm.MdiParent = this;
oForm.Text = frmtext;
oForm.Dock = System.Windows.Forms.DockStyle.Fill;
oForm.Show();
错误日志是:
2016-11-16 10:06:01,234 [1] ERROR SystemErrorLogFile [(null)] - 线程异常
【异常消息】Exception has been thrown by the target of an invocation.
【异常方法】System.Object CreateInstance(System.RuntimeType, Boolean, Boolean, Boolean ByRef, System.RuntimeMethodHandle ByRef, Boolean ByRef)
【堆栈调用】 at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at TBXT.UI.DNB.MAIN.frmMain.OpenUserForm(String frmfullname, String frmtext) in d:\Work\TOJSY\TBMS_TBXT\TBXT.UI.DNB\MAIN\frmMain.cs:line 143
at TBXT.UI.DNB.MAIN.frmMain.cmdMenuButton_Executed(Object sender, EventArgs e) in d:\Work\TOJSY\TBMS_TBXT\TBXT.UI.DNB\MAIN\frmMain.cs:line 127
at DevComponents.DotNetBar.Command.OnExecuted(ICommandSource commandSource, EventArgs e)
at DevComponents.DotNetBar.Command.Execute(ICommandSource commandSource)
at DevComponents.DotNetBar.CommandManager.?(ICommandSource ?)
at DevComponents.DotNetBar.BaseItem.ExecuteCommand()
at DevComponents.DotNetBar.ButtonItem.OnClick()
at DevComponents.DotNetBar.BaseItem.RaiseClick(eEventSource source)
at DevComponents.DotNetBar.BaseItem.InternalMouseUp(MouseEventArgs objArg)
at DevComponents.DotNetBar.PopupItem.InternalMouseUp(MouseEventArgs objArg)
at DevComponents.DotNetBar.ButtonItem.InternalMouseUp(MouseEventArgs objArg)
at DevComponents.DotNetBar.BaseItem.InternalMouseUp(MouseEventArgs objArg)
at DevComponents.DotNetBar.ItemContainer.InternalMouseUp(MouseEventArgs objArg)
at DevComponents.DotNetBar.ItemControl.OnMouseUp(MouseEventArgs e)
at DevComponents.DotNetBar.RibbonBar.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at DevComponents.DotNetBar.ItemControl.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

 我思考了两天,也查了两天的资料,感觉是在windows xp 上运用反射机制出错,可能是少某些控件!求大神指导!
  • 写回答

1条回答 默认 最新

  • threenewbee 2016-11-17 07:02
    关注

    System.Object CreateInstance(System.RuntimeType, Boolean, Boolean, Boolean ByRef, System.RuntimeMethodHandle ByRef, Boolean ByRef)

    创建对象出错,缺少dll,版本不兼容,com组件没有注册等

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料