VS 2010鼠标处理器扩展 - 无法正常工作

dri*_*iis 3 c# vsx mef visual-studio-2010 visual-studio-2010-beta-2

我正在尝试使用Visual Studio 2010扩展,我需要处理IMouseProcessor公开的事件.

据我所知,我应该创建一个IMouseProcessorProvider并导出使用MEF,以便Visual Studio可以自动获取它.

我创建了这个类:

[Export(typeof(IMouseProcessorProvider))]
[ContentType("code")]
internal sealed class MouseProcessorFactory : IMouseProcessorProvider
{        
    public IMouseProcessor GetAssociatedProcessor(IWpfTextView wpfTextView)
    {
        return new MouseProcessor();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行Visual Studio的实验实例时,我的扩展在扩展管理器中可见.但我的自定义鼠标处理器提供商从未被调用过.我错过了什么/我做错了什么?

Sam*_*ell 5

直接从这个(不是我的)网站采取:

扩展Visual Studio 2010 UML设计器 - 第1部分:入门

VSSDK Beta 2 Bug变通办法

不幸的是,目前VSSDK Beta 2中存在一些我们必须解决的问题.我被告知他们将在更新版本中修复,但在此之前,让我带您完成完成此项工作所需的项目清理:

第1步 - 调整.csproj文件

  1. 右键单击您的项目,然后选择"卸载项目".
  2. 再次右键单击您的项目,然后选择"编辑Yourprojectname.csproj"
  3. 在最顶层的属性组中,查找XML标记<IncludeAssemblyInVSIXContainer>.它将被设置为false.将其更改为true.
  4. 保存.csproj文件并将其重新加载到Visual Studio中.

第2步 - 调整.vsixmanifest文件

  1. 右键单击文件"source.extension.vsixmanifest"并选择"查看代码"
  2. 在名为添加以下行的部分中的文件底部.(是的,那些垂直条很重要​​.)

    <MefComponent>|Yourprojectname|</MefComponent>

  3. 保存并关闭文件.