It does not look like there is a problem with the addin per se or its location as it seems it can be loaded and executed (the exceptions is raised during the addin’s handling an OnStart call).
What it looks like instead is a problem with an instance of an External Server trying to register with an External Service while the service does not recognize the given server as the type of a server it expects to get. (too long a sentence? 😉
Example: Say there is a registered external service, give it a name SpecialMEPCumputationService, which delegates its work to an external server via interface class ISpecialMEPComputationServer. Typically, there would be a default server class in Revit (inherited from the ISpecialMEPComputationServer interface) which would be used for those calculations, but 3rd parties can register their own servers that may do the calculations differently. To do so, a 3rd party programmer implements a class (say, MyMEPComputationServer) inheriting from the ISpecialMEPComputationServer. It must implement this particular interface, otherwise the service would not accept it to be registered for that service; meaning: it would thrown the exception that was mentioned in the previous posts in this thread.
Note: Sometimes the a service fails to recognize its server even when the server is inherited from the correct interface. I’ve seen it happen in special cases, for example when the addin applications was spread over multiple DLLs with classes being inherited across those DLLs. I am not saying that is the case here; I am just mentioning it as another possible cause of the external server-registration failure.
Arnošt Löbel
Sr. Principal Engineer
Autodesk, Revit R&D
Arnošt Löbel