1. ArcGIS 10和ArcGIS10.1中的类库变化对比
版本 | 枚举 | 结构体 | 接口 | 组件类 | 总计 |
ArcGIS 10.0 | 1053 | 93 | 5555 | 4081 | 10782 |
ArcGIS 10.1 | 1120 | 94 | 5860 | 4372 | 11446 |
2. 架构更新
由于ArcGISServer在10.1版本中是纯64位应用程序,因此10版本中支持X86平台的ArcObjects主互操作程序集(PIAs)还原成其以前的微软中间语言(MSIL)状态。3. 只支持VisualStudio 2010
ArcGIS10.1只支持Visual Studio 2010(包括Express版本),其他任何版本Visual Studio不再支持。4. 名称变更
我们知道ArcGIS Engine Runtime 是部署的时候安装在客户机上的东西,它有分两个类型,一个是ArcGIS Engine Runtime for Windows,另外一个是ArcGIS Engine Runtime for Linux,而在ArcGIS10.1的时候名称发生了变化,如下表:
ArcGIS Engine Runtime for Windows | ArcGIS Engine for Windows |
ArcGIS Engine Runtime for Linux | ArcGIS Engine for Linux |
5. .NET Framework
ArcGIS 10.1支持的.NET Framework最低版本为.NET 3.5 SP1。实际上,这是在windows上安装ArcGIS Desktop或者ArcGIS Engine的前提条件。
可以使用.NETFramework 4.0进行开发,前提是必须同时安装.NETFramework 4.0和.NET Framework 3.5 SP1,因为目前4.0还不包含3.5。6. ArcGIS Objects 在.NET4.0下也提供了开发模板
在ArcGIS10.0的时候,ArcGISObjects 便能在.NET 4.0下运行,只是没有提供开发模板(当时的模板是在.NET3.5下), 但是在10.1版本中Esri在.NET4.0下也提供了模板,注意一点的是,服务器扩展的开发模板只在.NET3.5下提供。7. 主互操作程序集(PIAs)集(PIAs)
在10 版本中,ArcObjects的主互操作程序集(PIAs)被专门设计用来支持X86平台。在10.1版本中ArcGIS Server 是一个原生的64位应用程序,而ArcGIS Desktop 和 ArcGIS Engine仍然是32位(x86)应用程序,因此,PIAs被还原成其以前的微软中间语言(MSIL)状态。这样,同样的程序集就能够同时支持安装有ArcGIS Desktop and ArcGIS Engine的32位环境,也能支持安装有ArcGIS Server的64位环境。8. 许可绑定和嵌入互操作类型
这个其实是在ArcGIS10的时候就有,因为在论坛经常看到一些开发者问,所以将这个也纳入到这里。
在ArcGIS 10 的时候,产品架构发生了一些变化,在开发的时候,首先要做的就是绑定许可,绑定的位置放在使用ArcGIS Object对象之前,只需要添加:ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine)即可。
在使用.NET4.0开发的时候,注意将程序集的嵌入互操作类型改成false,如下图:9. ArcGIS 10.1 版本不支持DCOM方式连接ArcGIS Server
10.1版本不支持使用远程ArcObjects (通过 DCOM)的方式连接ArcGIS Server。如果你在代码中使用了Server库中的GISServerConnection或者GISClient库中的AGSServerConnection,在ArcGIS Server 10.1环境下,这些代码必须移除.
10. 增加了对REST 服务的访问的接口
在10 以及之前的版本ArcGISObjects 只能使用SOAP的服务,但是在10.1的时候增加了对REST服务的支持,该接口为:IMapServerRESTLayer。
11. ArcGIS 10.1 增加了对WMTS服务的访问的接口
ArcGIS 10.1 增加IWMTSLayer接口对WMTS服务进行支持。