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. 转:Log4j使用

    转:https://my.oschina.net/kkrgwbj/blog/638780 日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录. ...

  2. docker 与 vmware 的区别

  3. Java中excute,excuteUpdate,excuteQuery的区别

    executeQuery(String sql)      执行select语句,它返回的是查询后得到记录集(resultset). executeUpdate(String sql)      执行 ...

  4. js如何判断获取到的值是否在数组中

    很简单,定义一个数组,判断下就得了. var arrayList = [1,2,3,4]; arrayList .indexOf(2); 返回0 arrayList .indexOf(6); 返回1 ...

  5. CSS的应用

    CSS基础入门 目录 一.   列表.................................................................................. ...

  6. Git使用教程【转】

    Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是 ...

  7. (4) 二叉平衡树, AVL树

    1.为什么要有平衡二叉树? 上一节我们讲了一般的二叉查找树, 其期望深度为O(log2n), 其各操作的时间复杂度O(log2n)同时也是由此决定的.但是在某些情况下(如在插入的序列是有序的时候), ...

  8. Redis缓存连接池管理

    import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.util.Assert;import ...

  9. 【STL】优先队列priority_queue详解+OpenJudge-4980拯救行动

    一.关于优先队列 队列(queue)这种东西广大OIer应该都不陌生,或者说,队列都不会你还学个卵啊(╯‵□′)╯︵┻━┻咳咳,通俗讲,队列是一种只允许从前端(队头)删除元素.从后端(队尾)插入元素的 ...

  10. Python3基础 列表乘一个整数 扩增列表

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...