目录
2.5 无法加载 DLL“ArcGISVersion.dll”: 找不到指定的模块。(异常来自 HRESULT:0x8007007E)。
1 ArcGIS10.1安装简要教程
1.1 准备工作,安装需要的四个文件
1.2 安装License
(1)打开...\ArcGIS 10.1 Crack\license manager文件夹,点击setup.exe;安装许可文件
(2)许可文件安装完毕后,先停止服务
1.3 安装ArcGIS10.1
打开...\ArcGIS Desktop 10.1下的ESRI.exe,点击setup。(坐等即可)
1.4 破解
将破解文件下的service.txt,打开将第一行改成自己的计算机名称;
注意:有的程序,如FME等可能会与27000的端口冲突,如出现冲突情形,将27000端口修改为不冲突的数值即可
然后拷贝至安装的...\\License10.1\bin目录下,直接覆盖即可。
1.5 开启服务
在开始菜单找到如下两个权限设置文件,做如下设置,即可完成安装
1.6 安装ArcEngine10.1
打开.安装包的..\Arcengine10.1\ESRI.exe,先装Engine再装.Net
2 第一个C#程序的创建
2.1 添加ArcGIS的LicenseControl空间
创建windows窗体程序,并添加ArcGIS的LicenseControl
如果这里不显示这些控件,则要手动添加选项卡,在.NET Framework组件中选择所有Ax开头的,不能再COM组件中选哦:
2.2添加产品许可
在InitializeComponent();函数调用之前,添加如下代码:
public Form1()
{
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
InitializeComponent();
}
如果你要在控制台创建ArcEngine程序的话,需添加引用,然后在主函数中添加上述代码,即:
static void Main(string[] args)
{
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
}
(1) AreEngine许可类型一旦执行后,在程序运行期间无法进行修改;
(2) 使用扩展模块中的功能时,不但要初始化ProductCode,还要初始化ExtensionCode;
(3) 使用GP调用了spatialanaly中的工具,报错:the tool is not licensed,是因没许可初始化是没有初始化ExtensionCode。
更详细的分析参见文章:https://www.cnblogs.com/liweis/p/4185311.html
2.3 添加引用
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.DataSourcesRaster;
如果没有相关的dll,则去安装路径下去找:
2.4 无法嵌入互操作类型错误的处理方法
简单粗暴的处理办法:shift或alt键选中所有与ArcGIS相关的引用,将嵌入互操作类型设置为false。
2.5 无法加载 DLL“ArcGISVersion.dll”: 找不到指定的模块。(异常来自 HRESULT:0x8007007E)。
解决方案:在项目属性-生成-目标平台改为x86就好了。
另外,千万别忘了在项目Program的Main函数中添加下一行代码。
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);