Pablo Galiano : VS 10 beta 1 extensibility model (Part 2)

Subscriptions

<March 2010>
SuMoTuWeThFrSa
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910

News

Subscribe to Pablo Galiano by Email

Post Categories

VS 10 beta 1 extensibility model (Part 2)

***Disclaimer: This information applies to Visual Studio 2010 Beta 1 only.***

 

In the previous post we covered the details of the Microsoft.VisualStudio.ComponentModelHost.IComponentModel service

Now it’s time to talk about the Microsoft.VisualStudio.Shell.Interop.IVsComponentModelHost, which is the other service that is proffered by the host package.

 

Microsoft.VisualStudio.Shell.Interop.IVsComponentModelHost service

This service has the following responsibilities:

  • Get the catalog cache folder
  • Get MEF component locations

The catalog cache folder is located @ %LocalAppData%\Microsoft\VisualStudio\10.0\ComponentModelCache.

 

The Microsoft.VisualStudio.ExtensionManager.IVsExtensionManager service

To query extensions locations the IVsExtensionManager service is used. To filter only MEF component extensions, the “MEFComponent” content type in the VSIX extension manifest is used.

This service has many responsibilities which I will cover in future posts, but the one I will describe is:

  • Get enabled extension locations

To get the list of enabled extension locations Visual Studio looks in the following folders:

  • %LocalAppData%\Microsoft\VisualStudio\10.0\Extensions
  • %VS10_Install_Dir%\Extensions
  • %VS10_Install_Dir%\Common7\IDE\Extensions
  • %VS10_Install_Dir%\Common7\IDE\CommonExtensions

The first location is where VSIX files are deployed once you double a VSIX file from the Windows explorer shell.

The other locations are being used Visual Studio core extensions and to deploy a VSIX file under those locations you will need administrator privileges.

 

Stay tuned,

Pablo

posted on Thursday, July 02, 2009 9:04 AM by pga

What do you think?

(required) 
required 
optional
required