GeoDatabase and AE_C#问题(config)

GeoDatabase and AE_C#问题(config)

GeoDatabase
GeoDatabase
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
1
public interface AccessWorkspaceFactory : IWorkspaceFactory { }//则AccessWorkspaceFactory 可使用IWorkspaceFactory的方法、属性 in 程序集 ESRI.ArcGIS.DataSourcesGDB.dll 在OMDs中 DataSourcesGDBObjectModel.pdf中

问题
*遇到问题,不要慌乱。仔细分析有用的信息,然后解决它*
dotnet framework 由低版本转高版本出现:

1、ArcGIS10环境中找不到ESRI.ArcGIS.Utility、ESRI.ArcGIS.Utility.BaseClasses等引用,原因在于Utility逐渐被ESRI丢弃转而用ADF来代替
把ESRI.ArcGIS.Utility和ESRI.ArcGIS.Utility.BaseClasses
改为ESRI.ArcGIS.ADF和ESRI.ArcGIS.ADF.BaseClasses 即可。
2、解决弹出英文提示不能运行程序
打开program.cs把
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
这句放到Application.SetCompatibleTextRenderingDefault(false);和Application.Run(new Form1());之间应该就好了
3、在基于C#的AE中出现如下错误提示:(一般会出现)
无法嵌入互操作类型"ESRI.ArcGIS.Geometry.PolygonClass".请改用适用的接口

解决方法:在所在项目 找到相关引用(引入的dll)鼠标右击-> 打开“属性 ” 把“嵌入互操作类型”设置为False.
这样做的原因:
1.”嵌入互操作类型”中的嵌入就是引进、导入的意思,类似于c#中using,c中include的作用,目的是告诉编译器是否要把互操作类型引入。
2.“互操作类型”实际是指一系列Com组件的程序集,是公共运行库中库文件,类似于编译好的类,接口等。
3.“嵌入互操作类型”设定为true,实际上就是不引入互操作集(编译时候放弃Com程序集),仅编译用户代码的程序集。
而设定为false的话,实际就是需要从互操作程序集中获取 COM 类型的类型信息。
详细信息参考 http://www.cnblogs.com/pnljs/archive/2012/02/20/2359313.html

4、Visual Studio 2012新建控制台应用程序,目标框架.NET Framework 3.5,后又改为.NET Framework 4,编译时发现不能使用动态类型dynamic,错误信息如下:
引用内容
预定义的类型“Microsoft.CSharp.RuntimeBinder.Binder”未定义或未导入
出错语句为:
复制内容到剪贴板程序代码
dynamic domain = “mzwu.com”;
Console.WriteLine(domain);

解决方法
在项目文件(.csproj)的ItemGroup节点加入如下语句,重新打开项目即可:

复制内容到剪贴板程序代码

在这里插入图片描述

问题:1、将dotnet framework 4.0 切换到2.0时,编译没有问题,在运行时出现如下错误:System.InvalidCastException: 无法将类型为“System.Windows.Forms.SplitContainer”的对象强制转换为类型“System.ComponentModel.ISupportInitialize”。

解决方法:
注释掉如下代码(此代码为设计器自动生成代码)
//((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
//((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();

Remind 若类库a中部分类继承于另一个类库b的某一个或几个类,则添加类库a前,类库b须先被引用。

在这里插入图片描述


  1. 引用至《ARCGIS ENGINE+C#入门经典__赵银军,卢远编_北京:科学出版社》 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值