Runtime绑定:

在ArcGIS Engine10.0中,许可方式发生了一定的变化,ArcGis10有一个新的要求---runtime绑定。就是在任何ArcObjects代码(包括许可初始化代码)被执行前,指定相称的ArcGIS产品---ArcGIS Desktop或者ArcGIS Engine应用程序。

建立runtime绑定的APIs位于程序集ESRI.ArcGIS.Version的类ESRI.ArcGIS.RuntimeManager中,该程序集随着任何ArcGIS10 runtime一起安装于全局程序集缓存(Global Assembly Cache(GAC))中。安装了ArcObjects.NETSDK,默认的程序集ESRI.ArcGIS.Version位于C:/Program Files/ArcGIS/DeveloperKit10.0/DotNet文件夹下。可以在VisualStudio IDE中将该程序集添加为项目引用。

利用LicenseControl将ArcGIS9.3应用程序迁移至ArcGIS10:

使用LicenseControl,迁移ArcGIS 9.3Desktop或者Engine应用程序至ArcGIS 10,执行以下步骤:

1、  安装ArcObjects.NETSDK;

2、  升级VisualStudio的项目至Visual Studio 2008或以上版本;

3、  确保设置所有ESRI程序集的SpecificVersion属性为False;

4、  加ESRI.ArcGIS.Version程序集至项目;

5、  加ESRI.ArcGIS.ADF.Local程序集至项目;

6、  在使用其他任何ArcObjects代码之前,添加下面的代码语句:

[C#]中:

ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);

[VB.NET]中:

ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);

利用ESRI.ArcGIS.esriSystem.AoInitialize类将ArcGIS9.3应用程序迁移至ArcGIS 10:

在代码中使用ESRI.ArcGIS.esriSystem.IAoInitialize类也可以执行runtime绑定。有两种方法,步骤分别为:

手工编写runtime绑定代码方案步骤:

1、  安装ArcObjects.NETSDK;

2、  升级VisualStudio的项目至Visual Studio 2008或以上版本;

3、  确保设置所有ESRI程序集的SpecificVersion属性为False;

4、  加ESRI.ArcGIS.Version程序集至项目;

5、  加ESRI.ArcGIS.ADF.Local程序集至项目;

6、  在使用其他任何ArcObjects代码之前,添加下面的代码语句:

[C#]中:

ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);

[VB.NET]中:

ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);

利用ArcGISLicense Initializer Wizard生成runtime绑定代码步骤:

1、  安装ArcObjects.NET SDK;

2、  升级VisualStudio的项目至Visual Studio 2008或以上版本;

3、  确保设置所有ESRI程序集的SpecificVersion属性为False;

4、  加ESRI.ArcGIS.Version程序集至项目;

5、  加ESRI.ArcGIS.ADF.Local程序集至项目;

6、  在Visual Studio中通过Add ArcGIS License Checking命令,运行ArcGIS LicenseInitialzer Wizard。

尽管在开发ArcGIS 9.3项目时运行过ArcGIS License Initialzer,迁移至ArcGIS 10时仍然需要再次运行ArcGISLicense Initializer,因为ArcGIS License Initializer生成的代码有些已经被改变了,如下图

7、  在使用其他任何ArcObjects代码之前,添加下面的代码语句:

[C#]中:

ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);

[VB.NET]中:

ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);

ArcGIS Engine控件运行许可(转)的更多相关文章

  1. DevExpres.XtraLayout控件运行时动态设置数据项

    问题分析: 通常.我们使用XtraLayout控件,是需要做以下的几个步骤来实现的: 1.  在窗体上拖拉一个 LayoutControl控件,设置它的填充属性: 2.  拖拉一些常规编辑控件到Lay ...

  2. DevExpres表格控件运行时动态设置表格列

    本文是系列文章,陆续发表于电脑编程技巧与维护杂志. DevExpres产品是全球享有极高声誉的一流控件套包产品!国内典型用户包括:用友.金蝶.神州数码.工信部.中国石化.汉王科技等众多大中型科技型企业 ...

  3. SetDlgItemText控件运行错误

    SetDlgltem函数把一个WM_SETTEXT消息发送到指定的控件. 今天在测试一个小程序,发现使用SetDlgItemText控件编译没问题,但是运行就出错误. 语句为: time=CTime: ...

  4. qtp 自动化测试--点滴 菜单没有了,有些控件运行时找不到

    test项目页签下-没有了 菜单栏:file edit view insert 看不到了 1 解决:在startpage标签下-tool-option-点击 restore layout-确定 2 菜 ...

  5. PluginOK中间件高级版-支持在Chrome、Edge、Firefox等浏览器网页中真正内嵌ActiveX等控件运行的版本已获多家上市公司采购

    PluginOK(牛插)中间件(原名:本网通WebRunLocal)是一个实现WEB浏览器(Web Browser)与本地程序(Local Application)之间进行双向调用的低成本.强兼容.安 ...

  6. 解决Asp.net中的Chart控件运行出现错误提示“ ChartImg.axd 执行子请求时出错”

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABTkAAAJwCAIAAADN5fIdAAAgAElEQVR4nOzdfZAc1X3o/VNFlbcoJf

  7. 利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用

    Dixon 原文  用ArcGIS Engine.VS .NET和Windows控件开发GIS应用     此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署 ...

  8. C#,ArcGIS Engine开发入门教程

    C#,ArcGIS Engine开发入门教程 转自:http://blog.csdn.net/yanleigis/article/details/2233674  目录(?)[+] 五实现 一 加载A ...

  9. ArcGIS Engine开发前基础知识(2)

    ArcGIS基本控件简介 ArcGIS Engine控件是一组可视化的开发组件,每个ArcGIS Engine控件都是一个COM组件.这些组件包括MapControl,PageLayoutContro ...

随机推荐

  1. Duilib 开发中的小经验

    # duilib开发中收集的小代码 # ## 1 窗体创建 ## - 窗体多继承于 public WindowImplBase ,简单的定义几个函数就可以实现:拖曳caption移动(设置xml窗体的 ...

  2. 使用java mail 发送邮件

    1.关联jar包:   activation.jar   mail.jar 2.调用 @Test public void test1() { List<String> imageUrlLi ...

  3. 让C#轻松实现读写锁分离

    ReaderWriterLockSlim 类 表示用于管理资源访问的锁定状态,可实现多线程读取或进行独占式写入访问. 使用 ReaderWriterLockSlim 来保护由多个线程读取但每次只采用一 ...

  4. hdu 5901 Count primes

    题意: 计数区间$[1, n](1 \leq n \leq 10^{11})$素数个数. 分析: 这里只介绍一种动态规划的做法. 首先要说一下[分层思想]在动态规划中非常重要,下面的做法也正是基于这一 ...

  5. [DataBase] MongoDB (7) MongoDB 索引

    MongoDB 索引 1. 建立索引 唯一索引db.passport.ensureIndex( {"loginname": 1}, {"unique": tru ...

  6. python 学习笔记十七 django深入学习二 form,models

    表单 GET 和 POST 处理表单时候只会用到GET 和 POST 方法. Django 的登录表单使用POST 方法,在这个方法中浏览器组合表单数据.对它们进行编码以用于传输.将它们发送到服务器然 ...

  7. HQL查询——from子句

    HQL查询--from子句 1.from是最基本的HQL语句,from关键字后紧跟持久化类的类名: from Person 表示从Person持久化类中选出全部的实例. 2.推荐为持久化类的每个实例起 ...

  8. 新项目CRM(1)

    <title>CRM登陆</title> <script type="text/javascript"> if (window.parent.w ...

  9. 头一次试验angularjs

    <!DOCTYPE html> <head> <meta charset="utf-8" /> <title>angular< ...

  10. 剑指offer三: 斐波拉契数列

    斐波拉契数列是指这样一个数列: F(1)=1; F(2)=1; F(n)=F(n-1)+F(n); public class Solution { public int Fibonacci(int n ...