问题描述图
//目标框架由3.5改为4.5后会出现无法启动的错误,System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常,
解决办法及引起的相关问题
一、添加以下代码解决这个问题
在问题代码之前添加以下三行代码:
((System.ComponentModel.ISupportInitialize)(this.axPageLayoutControl1)).BeginInit();
this.Controls.Add(axPageLayoutControl1);
((System.ComponentModel.ISupportInitialize)(this.axPageLayoutControl1)).EndInit();
这个办法能启动窗体,但是程序运行后,切换到数据视图的时候没有数据显示,布局视图的控件不显示
在Mainfrm.Designer.cs文件里面其实已经有初始化代码了,问题应该不是出现在这里。
二、修改目标平台为X64
“解决方案资源管理器”中找到自己的项目,右键,选择“属性”,打开后点击“生成”,在这里把“目标平台”改为“x86”,如下图
这样又会引起新的问题
打开“Program.cs”,添加代码
第三行
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
Application.Run(new MainForm());
问题依然存在,放在最前面也不行。
将该函数的全部内容重新从复制源里面复制过来又不报错了,但是还有其它控件存在这个问题,加上以上三行代码可以解决。
将继续在寻找完善解决办法,欢迎大佬们能够指导交流。