Building Add-ins for ArcGIS Desktop in .NET

Slides:



Advertisements
Similar presentations
Advanced ArcObjects Component Development II (C++)
Advertisements

Esri International User Conference | San Diego, CA July 14, 2011 Troubleshooting ArcGIS Web APIs (JavaScript, Flex, Silverlight) from a Support Perspective.
Microsoft SharePoint 2010 technology for Developers
Water Rights Accounting. New Accounting Model New Technology: 1979 versus 2011 – Faster processors – Faster graphics – Larger, faster, memory – Larger,
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS API for Microsoft Silverlight – Advanced Topics Morten Nielsen
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Introduction to ESRI Add-Ins
Esri International User Conference | San Diego, CA Technical Workshops | Migrating Custom Desktop Solutions from 9.3 to 10 John Hauck and Ralf Gottschalk.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS Explorer Desktop.
Aptech Borivali(West) Hefin Dsouza. Agenda  What is.NET and What is Visual Studio? .NET Framework 3.5 Overview.  Visual Studio 2008 Enhancements. 
Lesley Bross, August 25, 2010 ArcGIS 10 Add-In Components and Controls.
Introduction to ArcGIS Add-Ins Exercises GIS/LIS Conference, 2014 Rochester, MN.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Creating.NET Add-ins.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Duke University Program Design & Construction Course Application Development Tools Sherry Shavor
Introduction to Spatial Analysis and Spatial Modeling
Extending ArcGIS for Server
Steve Dower Software Engineer Python Tools for Visual Studio.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Migrating your Data.
Upgrading Applications to VB.NET Leveraging Your Visual Basic 6 Investments with VB 2005 & the Interop Forms Toolkit 2.0 Jonathan Aneja Program Manager.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Leveraging Metadata.
What’s New for Web Developers in ASP.NET and Visual Studio 2008 Kate Gregory Microsoft Regional Director
Esri UC 2014 | Technical Workshop | Operations Dashboard for ArcGIS: Extending the Functionality Jay Chen Kylie Donia Tif Pun.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Customizing the Operations.
From Document Data Model to XML Trade Documents From Document Data Model to XML Trade Documents Electronic trade documents Document Data Model Supply Chain.
Presented by Vishy Grandhi.  Architecture (Week 1) ◦ Development Environments ◦ Model driven architecture ◦ Licensing and configuration  AOT (Week 2)
Wes Preston DEV 202. Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can.
Windows App Studio Windows App Studio is the tool that makes it fast and easy to build Windows 10 apps. It’s accessible from any device with a browser.
Sharing Maps and Layers to Portal for ArcGIS Melanie Summers, Tom Shippee, Ty Fitzpatrick.
Introduction to Android Programming
ClickOnce Deployment (One-click Deployment)
Introduction ITEC 420.
Geospatial Research & Solutions GIS.ASU.EDU
Part 1: Overview of LINQ Intro to LINQ Presenter: PhuongNQK.
DotNetSpider Editor Hefin Dsouza
Starting Fresh with JavaScript 4.x
INF230 Basics in C# Programming
Make Power BI Your Own with the Power BI APIs
DotNetNuke® Web Application Framework
BlackBerry Application Development
© 2016, Mike Murach & Associates, Inc.
9/11/ :55 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Manual testing of Windows Metro style apps built using HTML
Introduction to ArcGIS Add-Ins
Microsoft Office Illustrated
Customizing your device experience with assigned access
Writing Geoprocessing Scripts With ArcGIS
Writing Geoprocessing Scripts With ArcGIS
Make Power BI Your Own with the Power BI APIs
Creating Your First C Program Using Visual Studio 2010
The SharePoint framework
Creating Your First C Program Using Visual Studio 2010
Microsoft Build /27/2019 2:26 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Web AppBuilder for ArcGIS
Leveraging ArcGIS Online Elevation and Hydrology Services
Device Access Tomas Lukša.
Tips and Tricks for Getting Started with ArcGIS Solutions
Building Map Books in ArcGIS
Publishing image services in ArcGIS
Windows Presentation Foundation
Building Add-ins for ArcGIS Desktop in .NET
ArcGIS for Local Government’s Address Maps and Apps
Introduction to Portal for ArcGIS
ClickOnce Deployment (One-click Deployment)
Overview of System Development for Windows CE.NET
Visual Studio 2008.
Windows Forms in Visual Studio 2005: An in-depth look at key features
Plug-In Architecture Pattern
DataBase Application .NET
ArcGIS Pro: An Introduction Overview
Presentation transcript:

Building Add-ins for ArcGIS Desktop in .NET July 13th 2011 Building Add-ins for ArcGIS Desktop in .NET Russell Louks Steve Van Esch Feedback link: www.esri.com/sessionevals

ArcGIS Desktop Add-Ins A new way to customize and extend ArcGIS Desktop applications. Easier to build Easy to share More secure

.NET Development Environments for Add-Ins Visual Studio 2008 / 2010 Visual C# 2008 / 2010 Express Edition Visual Basic 2008 / 2010 Express Edition Supports .NET 3.5 & 4.0

Coding Add-Ins in .NET Add-In Behavior coded using Visual Studio IDE Wizards/Templates Base classes for each Add-In type Access to full ArcObjects API + programming environment Help, Documentation and Samples

Coding Add-Ins – An Add-In Button public class SimpleButton : Button { protected override void OnClick() MessageBox.Show("Hello World"); }

Coding Add-Ins – A managed COM Button

Coding Differences Declarative aspects subtracted from code Hook differences Inter-component communication differences

Coding Differences – Using the hook object Add-Ins // Query for the appropriate COM interface... IMxApplication mxApp = m_application IMxApplication; // Call the method. mxApp.Export(); // Call the method directly from ThisApplication... ArcMap.ThisApplication.Export();

Coding Differences – Custom methods Add-Ins [Guid("9811ecbe-d577-490e-8636-6e7bfca331e8")])] [ClassInterface(ClassInterfaceType)].None)] [ProgId("AddInDemo2.Command1")])] public class ACMEExt: IExtension, IACMEExt { public Extension1() } public void Foo() // Custom method implementation // Add a public method to your class. public class ACMEExt: Extension { public Extension1() } public void Foo() // Custom method implementation

Coding Differences – Finding an extension Add-Ins // Finding the extension... COM style. protected override void OnClick() { // Find the custom COM interface.. IApplication app = this.Hook as IApplication; // Cast to class.. MyExt ext = app.FindExtensionByName("ACME.ACMEExt") as MyExt; // Call custom method. ext.Foo(); } // Finding the extension... Add-In style. protected override void OnClick() { // Find extension and call custom method directly.. AddIn.FromID<ACMEExt>(ThisAddIn.IDs.ACMEExt).Foo(); }

Building .NET 4 Add-Ins ESRI doesn’t install .NET 4 at ArcGIS 10.0 Target users must have .NET 4 installed. Modify project’s Target Framework from 3.5 to 4.0 Debugging 3.5 and 4.0 managed debuggers not SxS Modify/Remove SupportedRuntime in *.exe.config

Demo - Building an Add-In in .NET

Coming in ArcGIS 10.1 IDE and Authoring Improvements Extended Help Capabilities CHM, WEB help, PDF, etc. New Types Editor Construction Tools Sever Object Extensions (SOEs) Python Add-Ins

Questions and Answers

External References Desktop Add-In Overview W3C XML Digital Signatures http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/Overview/001v00000266000000/ W3C XML Digital Signatures http://www.w3.org/Signature/ ISO/IEC 29500-2:2008 Open Packaging Conventions http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=51459 ITU X.509 Certificates http://www.itu.int/rec/T-REC-X.509/en ISO Language Codes http://www.loc.gov/standards/iso639-2/php/code_list.php