I did not per se figure it out becuase i don't really understand what is going on here but I was trying different things until it worked. I am not sure whether it is suppose to work or whether this crudity can even be called a workaround but here it goes:
Keep both "ESRI.ArcGIS.AddIns.targets" and "ESRI.ArcGIS.AddIns.11.targets" in the "C:\Program Files (...
Python/ArcPy for ArcGIS Pro 1.3 is now installed in
So your IDE needs to be pointed at that environment to pick up the link to arcpy.
In Visual Studio open the Python Environments window, click "+ Custom..." and select "Configure".
Give the new environment a name e.g. Python 64-bit 3.5 ArcPy and ...
ArcObjects .Net SDK for ArcGIS 10.2.x requires Visual Studio 2010 or 2012. Visual Studio 2015 isn't supported for 10.2.x
See ArcObjects SDK 10.2.x system requirements - Scroll to bottom of page for info on ArcObjects SDK for the Microsoft .NET Framework.
ArcObjects for 10.3.x requires VS 2012 or VS 2013
ArcObjects for 10.4.x requires VS 2013 or VS ...
Here's just the nuts-and-bolts from some working code:
// in main()...
GDALAllRegister(); // register all drivers
// open your raster - format doesn't matter as all the drivers are registered
GDALDataset* SourceRasterDS = (GDALDataset*) GDALOpen(Raster,GA_ReadOnly);
double GeoTransform; ...
It appears you have a setup project that is part of your solution. You might try having it run EsriRegasm, as described in Chris Garrard's blog post.
When you build your project you'll also need to call EsriRegasm, as described here.
Yes, since you are presumably using VB.NET (not VB, which is 20+ years old and no longer supported), you need to use the Imports statement to import namespaces.
Specifically you want to put Imports ESRI.ArcGIS.Geometry at the top of your code files.
Alternatively you could fully qualify the IPoint type every time you use it (ESRI.ArcGIS.Geometry.IPoint) ...
I think VS2010 only works if you point it at the .NET 3.5 framework, not the 4.0. Kind of makes 2010 redundant imo. I don't think it will work properly
Arc 10 (sp1) VS2010, VS 2008 and VS Express 2008 - all 3.5 Framework.
with ArcGIS 10.1 - 4.00 framework and VS2010
VS2010 if you use the .net 3.5 framework. Standard and Professional work.
In addition to @jmhauck answer; because the application framework has changed in version 10 you might also consider just to build a new extension using the ArcGIS 10 SDK using one of the "Extending ArcObjects" templates and copy your functions and procedures from your legacy extension.
More info on extending ArcObjects here
I got this book 2 weeks ago while browsing (again) for books covering your same question. Definitely worth purchasing. It's taken me a while to understand interface programming (that ArcObjects uses) but this guy explains it pretty well in Chapter 5. Lots of sample code and examples on how to create add-in's and extensions. The book covers 10.1 as well.
If you really need as assembly to have it's own config you directly load it using this .net code.
System.Configuration.ExeConfigurationFileMap fileMap = new System.Configuration.ExeConfigurationFileMap();
fileMap.ExeConfigFilename = "THE PATH TO THE CONFIG";
System.Configuration.Configuration cfg =
You need to iterate the datasets to get his containing feature classes. Like this:
While Not pSdeDSName Is Nothing
Dim pEnumDataset = pSdeDSName.Subsets
Dim pSubset = pEnumDataset.Next()
While Not pSubset Is Nothing
If pSubset.Type = ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTFeatureClass Then
The important difference is the way interop information is stored; either in your assembly, or in an external PIA. Because ArcGIS already provides PIA's, you should always set 'Embed Interop Types' to false for ArcGIS solutions.
The following paragraphs are taken from http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/index.html#//...
The syntax for combobox (as well as other controls) is different in VB.NET. You should review the help to see the changes.
cmbBox.ListCount --> cmbBox.Items.Count
cmbBox.List(l) --> cmbBox.Items.Item(l)
cmbBox.AddItem(sItem, l) --> cmbBox.Items.Insert(l, sItem)
cmbBox.AddItem(sItem) --> cmbBox.Items.Add(sItem)
Instead of checking for a selection directly in the button's OnUpdate routine, which runs very frequently, I would write an extension that uses event handlers to respond to selection events and caches the selection state of your layer, and then in the OnUpdate routine check the extension's cached state.
Of course this is probably overkill if there is only ...
If you are creating an extension that is only accessed from say desktop then consider developing an AddIn extension as these are much easier to deploy on client machines. If you are creating an extension that makes ArcMap talk to say MS Access then a standard extension (COM) would be required but then you have to register it with the OS and deal with admin ...
Here are two examples of getting values from the selected features.
This one lists all the values for the feature
IMxDocument pMxDocument = ArcMap.Application.Document as IMxDocument;
IMap pMap = pMxDocument.FocusMap;
ILayer pLayer = pMap.get_Layer(0);
IFeatureLayer pFeatureLayer = (IFeatureLayer)pLayer;
IFeatureClass pFeatureClass = pFeatureLayer....
ogrinfo as nothing to do with Visual Studio. It is a command line tool (Windows, Linux, Mac OS X)
So you use it in the Windows console or in the Linux and Mac OS X shell in the same way.
with a lot of options: (ogrinfo)
And, there are many, many tutorials in Gis.StackExchange : search ogrinfo and on the Web....
First, I check that Microsoft.VisualStudio.Shell.9.0 was in the GAC, It was not there... :( then I proceed as Juho Vainio in Geonet suggest : Visual Studio Command Prompt --> Run as Administrator --> gacutil /i Microsoft.VisualStudio.Shell.9.0.dll, but it failed because I was not giving the full pat of the dll, so I search for it in the Visual Studio 2008 ...
Here's an additional answer since I just went through this process with ArcGIS 10.3 and Visual Studio 2015. I'll just paste the reply I posted at https://geonet.esri.com/message/579779#579779. There are several steps, but none of them are too difficult.
First, to get the SDK installed, you need to add a few registry keys so that ArcGIS thinks that you have ...
It seem you have written an ArcEngine application. So, you must install ArcEngine Runtime on any machine you need to run your application.
ArcEngine Runtime is the minimum. You can either install ArcEngine SDK or even ArcGIS Desktop to run you application.
The Arc Application (Engine or Desktop), must match the version of sdk that you have built your ...
In order to debug ArcMap 10.3 Add-in with VS2013 in .Net 4.5. I had to attach VS2013 to ArcMap.exe process. This is kinda annoying but it is the only way I got it to work for now. I'm still confused on why this is happening.
How to attach process
In VS2013, go to menu "DEBUG" -> "Attach to Process"
Select "ArcMap.exe" and click on "Attach" ...
Yes, things can seem a bit complicated.
However, I can confirm that developing add-ins works with ArcGIS 10.3 and Visual Studio 2013. I haven't tried 2015, but I don't expect it to work, because it came out after ArcGIS 10.3.
Some people are having issues debugging in Visual Studio 2013, but for me it eventually worked.
The ArcObjects SDK for the ...
return @"SELECT ST_AsGeoJSON(ST_Transform(geom, 32633))
WHERE ST_Distance(ST_Transform(geom, 32633),
ST_SetSRID(ST_Point(536251.378984788,5211860.67521085), 32633)) < 100";
(This is called Verbatim string literal)
When you set up a reference to an assembly, you have the option for "Specific Version". When you add a reference manually, by default it is True. The references added by Esri's SDK tools set it to False.
You should be able to highlight multiple references in the Solution Explorer and change multiple assembly references' Specific Version to False. (At ...
If this is an Add-in, you'll have to make a modification to the config.esriaddinx file also. Take a look at the section about Delay Loading in the add-in concepts help, where it says to set the onDemand attribute to false.
The line will look something like this:
<Button id="YourAddIn_Button1" class="Button1" message="Add-in command generated by Visual ...