ArcGIS Pro SDK只能开发ArcGIS Pro软件上的插件,不能单独开发独立的应用程序。ArcMap是32位的,在处理大数据时,经常会崩溃,但同样的数据和逻辑,因为ArcGIS Pro是64位的,可以顺利执行出来。所以目前我们开发程序的时候,遇到处理大数据的需求,使用ArcObjects SDK开发的程序如果运行不起来,就会基于ArcGIS Pro SDK开发。

电脑上先安装好ArcGIS Pro,因为我们最终做的插件是要安装到ArcGIS Pro软件上的。

打开Visual Studio 2022,点击继续但无需代码按钮,如下图所示。

点击后,弹出的界面如下图所示。

点击【扩展】-【管理扩展】按钮,如下图所示。

在右侧搜索ArcGIS Pro SDK,在搜索结果中,选择安装 ArcGIS Pro SDK for .Net。安装后,就可以新建项目了。新建项目的时候,界面如下图所示。

新建后,项目默认情况下,包含的文件,如下图所示。

这个文件都不需要修改,下面我们创建一个按钮,放到菜单上。,在程序集中,新建项目项,如下图所示。

添加该按钮后,Config.daml文件内容会自动发生变化,加上了新建的这个按钮。Config.daml格式我们后面再研究。此时我们可以在按钮上添加逻辑,例如点击按钮,弹出信息对话框。代码如下所示。

using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
namespace ProAppModule1
{
internal class Button1 : Button
{
protected override void OnClick()
{
MessageBox.Show("ArcGIS Pro SDK 测试。");
}
}
}

点击下图红框中的运行按钮,如下图所示。

系统会弹出下面的对话框,如下图所示。

然后ArcGIS Pro并没有弹出,这个可能是ArcGIS Pro破解的问题,目前没找到如何解决。

点击第二个运行按钮,该按钮的意思是执行,但不调试。此时可以自动启动ArcGIS Pro主界面,如下图所示。

点击从没有模板的情况入手,点击加载项主菜单,会发现我们刚才添加的插件按钮,如下图所示。

点击该按钮,弹出我们代码中定义的信息,如下图所示。

如果我们想自己定义对话框,可以定义普通的WPF窗体即可,不需要非得使用ArcGIS Pro SDK中的UI元素。如下图所示。

修改代码,弹出新创建的Window1对话框,代码如下所示。

internal class Button1 : Button
{
protected override void OnClick()
{
Window1 myWindow1 = new Window1
{
Owner = Application.Current.MainWindow
};
myWindow1.ShowDialog();
}
}

编译运行,效果如下图所示。

如果想把开发的插件发给其他人使用,在编译结果目录如下图所示。

把这些文件拷贝到其他已经安装了ArcGIS Pro软件的电脑,双击ProAppModule1.esriAddinX文件,进行插件安装。

现在遇到最大的问题就是,直接调试,系统运行不起来,所以开发的时候没法调试,只能通过记录日志的方法逐步输出各重要参数的值,来排查错误。目前一直没找到办法解决这个问题。

ArcGIS Pro SDK 001 基于SDK创建第一个插件的更多相关文章

  1. ArcGIS Pro体验02——启动、创建工程

    所有的猜测都是眼睛看到的,自己想到的,可能不一定正确哈. 任务界面十分简洁,左上是创建新工程,右上是账户名称,左上是关于. 可以直接创建一个工程,Blank应该是无类型,最后保存再选择:Global ...

  2. ArcGIS Pro Add-In插件开发[ArcGIS Pro SDK for .NET]

    本文基于 Windows7 + VS2019 + .NET Framework 4.8 + ArcGIS Pro 2.5 开发和撰写. 目录 开发环境配置 获取ArcGIS Pro 安装VS2019 ...

  3. ArcGIS Pro 二次开发

    本文基于 Windows7 + VS2019 + .NET Framework 4.8 + ArcGIS Pro 2.5.22081 开发和撰写. 目录 开发环境配置 获取ArcGIS Pro 安装V ...

  4. ArcGIS Pro SDK 002 对数据文件的读取和操作

    做系统开发或者数据处理的时候,我一般还是喜欢使用文件数据源,例如矢量用.shp文件存储,栅格数据用.tif或者.img文件存储.ArcGIS Pro SDK中对数据源操作的API和ArcObjects ...

  5. ArcGIS Pro SDK 003 如何调用Toolbox

    1.如何调用普通的Tool ArcGIS中的Toolbox非常强大,做二次开发的时候,必不可少的会调用,在ArcObjects SDK中,每个Tool都会有自定义的类对应,例如栅格转矢量数据,定义在E ...

  6. 使用 ADD-ON SDK 开发 基于 Html JQuery 和 CSS 的 firefox 插件入门教程1: 创建一个简单的 Add-on

    [本文转载自http://sixpoint.me/942/implementing-simple-addon/] 实现一个简单的插件 教程的这个部分带你使用 SDK 来实现, 运行并打包一个插件. 这 ...

  7. ArcObjects SDK开发 001 ArcObjects SDK 简介

    1.什么是ArcObjects SDK 在网上搜索什么是ArcObjects,会搜到如下的定义. 这个定义比较准确,也比较容易理解. 2.什么是ArcEngine 在网上搜索ArcEngine,一般会 ...

  8. [Android Pro] 开发一流Android SDK

    cp from : https://blog.csdn.net/dd864140130/article/details/53558011 本篇文章已授权微信公众号 guolin_blog (郭霖)独家 ...

  9. nrf52——DFU升级USB/UART升级方式详解(基于SDK开发例程)

    摘要:在前面的nrf52--DFU升级OTA升级方式详解(基于SDK开发例程)一文中我测试了基于蓝牙的OTA,本文将开始基于UART和USB(USB_CDC_)进行升级测试. 整体升级流程: 整个过程 ...

  10. nrf52——DFU升级OTA升级方式详解(基于SDK开发例程)

    在我们开始前,默认你已经安装好了一些基础工具,如nrfutil,如果你没有安装过请根据官方中文博客去安装好这些基础工具,连接如下:Nordic nRF5 SDK开发环境搭建(nRF51/nRF52芯片 ...

随机推荐

  1. oracle数据库体系架构详解

    在学习oracle中,体系结构是重中之重,一开始从宏观上掌握它的物理组成.文件组成和各种文件组成.掌握的越深入越好.在实际工作遇到疑难问题,其实都可以归结到体系结构中来解释.体系结构是对一个系统的框架 ...

  2. .NET Cas 认证(基于Cookie)

    项目需求:开发系统A 对接客户公司的cas 认证系统 B,实现单点登录 业务场景描述:打开A 系统地址,判断Cookie 是否登录状态,如果未登录,跳转B登录界面:如果已登录,直接获取到cookie ...

  3. 【C语言】格式符

    对于很多人来说,用格式符都是熟能生巧,而不清楚为什么是那样的格式符,所以我在这列了一个表,翻译了其对应的英文. 进制名称 英文 缩写 二进制 Binary B 八进制 Octal O 十进制 Deci ...

  4. 什么是RESTful 或 GraphQL?

    RESTful 与 GraphQL 深度解析 在前端的开发过程中,相信 everyone 对 Get.POST 等请求方式都很熟悉,那么这些请求是归于哪种架构或者设计风格可能又不是很熟.现在在这简单的 ...

  5. panic: qtls.ConnectionState not compatible with tls.ConnectionState

    问题重现 之前一个 go-micro 1.18 的项目 执行 go run main.go 命令时出现以下报错 go run main.go panic: qtls.ConnectionState n ...

  6. DevOps常用工具网址

    Linux基础和命令: shell语法查询: http://www.linux6.comhttps://www.tutorialspoint.com/linux_admin/index.htm 正则表 ...

  7. 拆解 MCP 的运行原理

    注意:此实验非常消耗模型 Token 背景:最近 MCP 火的发烫,什么是 MCP 就不讨论了,比较好奇 MCP 具体的运行逻辑. 现象:同时使用 Cursor 和 MaxKB 对接腾讯地图的 MCP ...

  8. CSP - J理论(1)

    CSP-J理论(1) CSP-J理论合集跳转 目录 本目录中所有标题单击均可以快速跳转哦 一.排列组合与概率 $\ \ \ \ \ $1.排列 $\ \ \ \ \ $2.组合 $\ \ \ \ \ ...

  9. symfony3.4修改安全验证默认表配置

    #security.yml security: # ··· providers: our_db_provider: entity: class: AppBundle:Users property: u ...

  10. [java与https]第一篇、证书杂谈

    一.算法.密钥(对).证书.证书库 令狐冲是个马场老板,这天,他接到店里伙计电话,说有人已经签了租马合同,准备到马场提马,,他二话不说,突突突就去了,到了之后,发现不认识租客. 令狐冲说,你把你租马合 ...