解决 Visual Studio 2013、2015、2017 工具箱不显示ArcGIS 10.2 控件,及ArcGIS模板丢失问题
1、重装ArcObject SDK for .NET Framework方法
(1)问题描述:
环境:WIN10 64bit、Visual Studio 2013、ArcGIS10.1、ArcGIS Engine 10.1
之前已安装有VS2013(或者2013及以上Studio版本),后来安装的ArcGIS和AE。
安装后,在VS2013的C#模板下,看不到“ArcGIS”的项,而且工具箱中也没有ArcGIS的组件。

(2)解决方法:
一般解决方法是, “添加选项卡”--“选择项...”-- 在.NET
Framework组件中勾选ESRI相关组件添加即可。
然而我在.NET
Framework组件下没找到任何ESRI组件。重新修复了ArcGIS和AE,均没有效果。还有网友说在.NET
Framework组件下的“浏览”里添加安装目录下一个esri的.dll(具体忘了),也没找到该dll。
考虑是AE的.NET Framework组件根本没装好,在重装ArcObject SDK for .NET Framework时,提示必须是VS2010 (此时针对ArcGIS 10.1, 若是ArcGIS 10.2 则最高支持到VS2012)版本,安装中止。

重点是这里:
打开注册表,定位至 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0,点击10.0在右侧空白处右侧新建--字符串值,名称取”InstallDir“,类型默认为REG_SZ,其数据值即为HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0\InstallDir的值,也就是你VS2013的安装路径(对于VS2013及以上版本,请针对VS的版本作出相应的调整)。
这样继续安装ArcObject SDK for Microsoft .NET Framework就能正常安装了(因为这个安装过程能读到VS2010的路径了),安装好后.NET Framework组件下就会有所需控件,按需添加即可。
二、修改配置方法 (推荐)
高版本不支持ArcGIS Engine以及丢失控件和模板,原因可能是:
1、因为先装vs 后装 ArcGIS或AE出现。
2、vs版本不匹配,手动修改注册表后安装ArcGIS。
所有这些问题其实都可以通过在装好ArcGIS对应支持的vs 版本基础上重装ArcGIS来解决,但是,如果你不想重装的话,可以试试下面的方法。
安装ArcGIS Engine,可能出现几个问题。
2.1 问题一:提示支持vsxxx版本
ESRI软件自身的问题,vs版本不是对应的话,直接安装不了。
打开注册表。在注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0 增加类型为REG_SZ的InstallDir和ShellFolder节点。如果没有10.0文件夹,需要先在注册表添加该文件夹。
InstallDir的结点的值为HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\InstallDir的值。
(备注:11.0对应VS2012, 12.0对应VS2013, VS2015对应14.0, VS2017为15.0, VS2019为16.0)
ShellFolder节点的值为HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\ShellFolder的值。也就是VS的安装路径。
例如,x64的Win8下,VS2015,默认是:C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\;vs2013是在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0\InstallDir目录下。
看网上只用添加installDIr节点即可。增加这个注册表值,是因为这安装程序必须要能够读到vs2010的安装路径。
修改完后即可安装。
2.2 问题二:模板丢失的完美解决
vs中没有 arcgis 模板—vs新建项目时,项目类型中没有ArcGIS一项。
这里ArcGis模板下面有三项,DeskTop Add-Ins,Extending ArcObjects和Sever Object Extensions。这取决于你装了什么。
模板不出现的解决办法(以VS2017为例):解决方法是将模板文件拷贝到vs模板库中。
对于VS2012, VS和ArcGIS都安装在E盘时,安装时ArcGis模板文件放在
E:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\ArcGIS
E:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\CSharp\ArcGIS中,

所以,我们若想在VS2017下恢复ArcGIS的工程模板,可如下方式进行操作:
将模板(两个文件夹XXX\ItemTemplates\CSharp、XXX\ProjectTemplates\CSharp下的"ArcGIS"文件夹)拷贝至vs2017模板文件位置。放置位置的具体操作,见下图所示。【注意这一步直接决定Visual Studio是否能正确识别ArcGIS模板,至关重要】。

以上步骤的详细操作分布,可在下图中弄清楚(VS2017, ArcGIS 10.2)。

本部分2.2 更新于 2019.6.21 0019
2.3 问题三:工具箱中没有 ArcGis Windows Forms
解决方法1:
第一步:点击工具箱,添加选项卡,命名为ArcGis Windows Forms或者其他你喜欢的名字
第二步,工具箱内右键,选择项,选COM组件
第三步:选中相关控件,打钩然后确定
解决方法2:
第一步:添加选项卡,命名为ArcGis Windows Forms或者其他你喜欢的名字
第二步:在安装目录的bin下面找到相关的控件,以.ocx为后缀,选中直接拖入工具箱中。

18.10.15 更新V1.1
19.6.9 再次更新V2.0
19.6.21 更新 v2.2
参考文章
vs2015不支持ArcGIS Engine以及丢失控件和模板解决办法
解决 Visual Studio 2013、2015、2017 工具箱不显示ArcGIS 10.2 控件,及ArcGIS模板丢失问题的更多相关文章
- Visual Studio 2013/2015/2017快捷键(转)
英文原文:19 Must-Know Visual Studio Keyboard Shortcuts 项目相关的快捷键 Ctrl + Shift + B = 生成项目 Ctrl + Alt + L = ...
- Visual Studio 2013/2015/2017快捷键(转载)
本文为转载文章,原文:[心存善念] [Fonour] 项目相关的快捷键 Ctrl + Shift + B = 生成项目 Ctrl + Alt + L = 显示 Solution Explorer(解 ...
- [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图
[.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向 ...
- [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图
[.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图 1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系. ...
- [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...
- 在Visual Studio 2013/2015上使用C#开发Android/IOS安装包和操作步骤
Xamarin 配置手册和离线包下载 http://pan.baidu.com/s/1eQ3qw8a 具体操作: 安装前提条件 1. 安装Visual Studio 2013,安装过程省略,我这里安装 ...
- UML——在Visual Studio 2013/2015中设计UML类图
1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...
- 解决Visual Studio 2013 XAML设计器异常
今天使用Visual Studio 2013打开一个windows 应用商店程序的时候,发现出现如下异常: at System.Windows.Input.Cursor.LoadFromFile ...
- 解决Visual Studio 2013调试时 Web服务框架中出现了无法识别的错误 问题
此问题出现过很多次,点帮助,google, baidu 都没解决,后经过摸索解决,记录下来1.查找80port是否有被占用情况,需要查看skype[这东西不知道为什么为占用80], Reporting ...
随机推荐
- bzoj1612 Usaco08 Jan 牛大赛
水题模拟 建一个图,每两个牛进行比赛就连一条边,然后两遍dfs求出比他弱和比他强的牛,最后如果相加数量等于n,说明他能与全部的牛进行比较,排名确定. #include<bits/stdc++.h ...
- Python中的引用计数法
目录 引用计数法 增量操作 计数器溢出的问题 减量操作 终结器 插入计数处理 引用计数法 增量操作 如果对象的引用数量增加,就在该对象的计数器上进行增量操作.在实际中它是由宏Py_INCREF() 执 ...
- eBay起诉指控亚马逊利用非法手段挖走其卖家
[摘要]eBay在诉状中称,亚马逊的代表滥用eBay的内部电子邮件系统联系卖家,这违反了市场政策. 腾讯科技讯 10月18日消息,据外媒报道,拍卖网站eBay对亚马逊提起诉讼,指控这家美国零售巨头利用 ...
- 【Codeforces Round #239 (Div. 1) B】 Long Path
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] DP,设f[i]表示第一次到i这个房间的时候传送的次数. f[1] = 0,f[2] = 2 考虑第i个位置的情况. 它肯定是从i- ...
- PatentTips - Posting interrupts to virtual processors
BACKGROUND Generally, the concept of virtualization in information processing systems allows multipl ...
- Java中四种引用的区分
强引用(StrongReference) 强引用就是指在程序代码之中普遍存在的,比如下面这段代码中的object和str都是强引用: 1 2 Object object = new Object(); ...
- 网络流 HDU 3549 Flow Problem
网络流 HDU 3549 Flow Problem 题目:pid=3549">http://acm.hdu.edu.cn/showproblem.php?pid=3549 用增广路算法 ...
- Swift:UIKit中Demo(一)
关于Swift的基本概念及语法知识.我在前面的章节中已经介绍了非常多.这一节和下一节主要有针对性的解说Swift在实际UIKit开发中的使用场景及注意点.先来看看Demo的终于效果图. Demo分析: ...
- vim 脚本之快捷注释
今天初步学习了下vim的脚本知识,并尝试写了一个简单的脚本.当然,这个脚本很简单,使用的方法也很笨拙.不过,这仅仅是一个开始,等以后随着对vim语法的深入了解,会不断优化这个脚本的.先记录下来 &qu ...
- Android - TextureView, SurfaceView和GLSurfaceView 以及 SurfaceTexture
这几个概念比较绕, 又比较相近. 初看比较糊涂, 把握关键点就好. 关键字 View SurfaceViewGLSurfaceViewTextureView这三个后缀都是View, 所以这三个东西都是 ...