jhanks

10.1 Add in question - can I pull in components from other DLLs?

Discussion created by jhanks on Jul 20, 2012
Latest reply on Jul 20, 2012 by FZhang-esristaff
I'm getting started with the 10.x add-in architecture and have made several add-ins - several extensions, toolbar buttons, etc. What I would like to do is make a single "umbrella" add-in that pulled in components from other DLLs. For example, have each extension in its own DLL for ease of development, separation of concerns, etc. and have a separate add-in reference them. I can't get this to work in the Config.esriaddinx file. I saw this thread but didn't help me.

Let's say I have the add-in configured like this
  <AddIn language="CLR4.0" library="MyNamespace.MyAddin.dll" namespace="MyNamespace.MyAddin">
    <ArcMap>
      <Extensions>
        <Extension id="MyNamespace_MyAddin_LocalExtension" class="LocalExtension" productName="MyProduct" autoLoad="true">
          <Description>Fill in later</Description>
        </Extension>
        <Extension id="MyNamespace_MyOtherProj_OtherExtension" class="OtherExtension" productName="MyProduct" autoLoad="true">
          <Description>Fill in later</Description>
        </Extension>
      </Extensions>
    </ArcMap>
  </AddIn>


This will load LocalExtension no problem since it is in MyNamespace.MyAddin.dll. But I cannot get OtherExtension to load. Note that there is another DLL, MyNamespace.MyOtherProj.dll with extension class at MyNamespace.MyOtherProj.OtherExtension.

Is this possible? If so, what's the right incantation for Config.esriaddinx to get the add-in DLL to reference the extension?

Jim Hanks

Outcomes