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
Saturday, September 15, 2012 7:58 PMModerator
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
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/