Select to view content in your preferred language

ArcGIS Engine Controls VS2010 64bit OS

766
4
08-06-2010 09:44 AM
FredSpataro
Frequent Contributor
Hello All:

Anyone able to get an engine map control application to build and run with 64-bit OS and Visual Studio 2010?  First I got an "incorrect format" error when trying to build which lead me to this article:  http://resources.arcgis.com/content/kbase?fa=articleShow&d=37879.

I added the xml to the project file and the project will build but the application won't debug or run (if exe is clicked directly).  I haven't tried the manual steps from MS yet but that appears to make a constant change so I'd have to undo/redo it every time I switched projects. 

I'm usually one of the most pro-ESRI people out there, but honestly as a developer, v10 is not working for me... which is too bad I was excited to see progress from a development standpoint and it appears ESRI is trying to make it harder for developers to create ArcObjects based solutions.
0 Kudos
4 Replies
RichardWatson
Deactivated User
We are building desktop applications (i.e. ArcMap) on 64 bit machines.  The problem with Visual Studio is Microsoft's and not ESRI's.  This could be avoided if ESRI supported the 4.0 framework but they do not.

What we do is to set an environment variable so that we do not have to edit each project file.  This is discussed here:

https://connect.microsoft.com/VisualStudio/feedback/details/543804/?wa=wsignin1.0

The other thing that we found is that for version 10.0, our project files call ESRIRegAsm following the model in the ESRI samples.  Unfortunately, the ESRI samples do not work on 64 bit machines because the project file refers to ESRIRegAsm in the wrong location.  We hacked around this by creating a symbolic link using mklink.
0 Kudos
DarrenRempel
Occasional Contributor
try this:
right click on the offending .resx file in Visual Studio and select 'View Code'.
replace the base64 resource entry type definition with base32. 

here's an example:

<data name="axMapControl1.OcxState" mimetype="application/x-microsoft.net.object.binary.base64">

change to:

<data name="axMapControl1.OcxState" mimetype="application/x-microsoft.net.object.binary.base32">


recompile.
0 Kudos
FredSpataro
Frequent Contributor
try this:
right click on the offending .resx file in Visual Studio and select 'View Code'.
replace the base64 resource entry type definition with base32.
recompile.


Oh yeah!  This one worked well.  As always, the developer community comes to the rescue!  Thanks again
0 Kudos
KevinGooss
Regular Contributor
just switching to base32 didn't work for me. it allowed me to compile and run but it fundamentally changed my application, moving things around and messing up my toolbars.
0 Kudos