本文主要是介绍c#+AE开发中,System.Windows.Forms.AxHost.InvalidActiveXStateException 在 ESRI.ArcGIS.AxControls.dll 中发生,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述图
//目标框架由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());
问题依然存在,放在最前面也不行。
将该函数的全部内容重新从复制源里面复制过来又不报错了,但是还有其它控件存在这个问题,加上以上三行代码可以解决。
将继续在寻找完善解决办法,欢迎大佬们能够指导交流。
这篇关于c#+AE开发中,System.Windows.Forms.AxHost.InvalidActiveXStateException 在 ESRI.ArcGIS.AxControls.dll 中发生的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!