Answered Visual Studio ext registration GAC or Codebase ?

  • Saturday, September 15, 2012 6:14 AM
     
     

    I have been confused with some extensibility features in visual studio, one feature need to register assembly using regasm /codebase, and other need to put in GAC.

    My questions are simple :

      • Are those two ways acctually same and accepted in visual studion ext. features or that is the common .NET way to provide COM interop ?
      • If that different, which extension features need to using regasm /codebase, and which extension need to put in GAC

    It's hard to be advanced programmer

All Replies

  • Saturday, September 15, 2012 7:58 PM
    Moderator
     
     Answered

    Hi,

    Extensions don't need to be registered in the GAC. There are two kind of registrations:

    1) All extensions: need to be registered within Visual Studio through some mechanism that depend on the extension. For example:

    - COM-based add-ins use a registry entry (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<version>\AddIns\<ProgId>

    - XML-based add-ins use an .AddIn file in some predefined folders

    - Packages use .pkgdef files

    - Etc.

    2) Only COM-based extensions: apart from the previous registration, they need to be registered for COM-Interop with regasm.exe with /codebase (and therefore signed with a strong name).

    The bottom line is that extensions don't need to be deployed to the GAC.


    MZ-Tools: Productivity add-ins for Visual Studio: http://www.mztools.com. My blog about developing add-ins: http://msmvps.com/blogs/carlosq/