Base Commands Dll's not updated

06-28-2012 03:03 AM
New Contributor
I develop on C# .NET 3.5 with ArcGis10.

I created  a desktop  baseToolBar / base Command DLL and registered it with the esriRegasm.exe" command."
My  baseToolBar Dll ,has references to other dll's,and use their methods(as common.dll ,etc.)
Now, after I made changes in the  TB , unregister and again register it,  it doesn't recognize the changes in the Internal dll.

For example, if I change the  header of method  with one parameter  'Func1(p1)'  to method  with two  parameters 'Func1(p1,p2)'   , when calling from the  main dll to  'Func1(p1,p2)'  it throws an error  that Func1 has  invalid number  of argument.
It seems that the previous version  of that dll , was not updated on the registration.

I found a temporary solution and not comfortable and not useable , that when  I remove the NORMAL.mxt of the ArcGis desktop , most of the times the problem is solved, but sure it can't be my permanent solution.

This problem started when we upgraded from ArcGis 9.3.1 to ArcGis 10.
0 Kudos
1 Reply
Occasional Contributor

If you see the issue resolves upon deleting the Normal.mxt (thus creating a new Normal), that seems to me strange right now.  I do not see the connection between the Normal.mxt and the error that Func1 has invalid number of arguments.  The Normal.mxt remembers your preferences with regards to which toolbars you want to show, if you want to remove a certain command from a toolbar or menu.  So it may remember if you want to show your custom toolbar and commands the next time ArcMap launches, but that's it.  I wonder if a legacy custom component has not been unregistered properly.

You mention the "problem started when we upgraded from ArcGis 9.3.1 to ArcGis 10", but it seems like the problem started when you "change the header of method with one parameter 'Func1(p1)' to method with two parameters 'Func1(p1,p2)'.  Such an error sounds to me like a generic C# or IDE error irrespective of ArcObjects or ArcGIS. 

In which class is your Func1 method being defined?  Does this class represent any ArcMap framework component, e.g. a toolbar, command, menu, dockable window.  If not (e.g. common.cs or mySharedMethods.cs), that class does not register within any component category of ArcMap/ArcGIS Dekstop so I do not think that the issue is specific to ArcGIS Desktop. 

Show us a little diagram or print-screen to help illustrate the problem.  I will be on vacation for the next 2 weeks but someone else may see the problem better with some type of illustration or code snippets.  Thanks.
0 Kudos