C# VS 2010鼠标处理器扩展-不工作
我正在试验VisualStudio2010扩展,在这里我需要处理IMouseProcessor公开的事件 从文档中可以看出,我应该创建一个IMouseProcessorProvider,并使用MEF导出,以便VisualStudio能够自动获取它 我创建了这个类:C# VS 2010鼠标处理器扩展-不工作,c#,mef,visual-studio-2010,vsx,C#,Mef,Visual Studio 2010,Vsx,我正在试验VisualStudio2010扩展,在这里我需要处理IMouseProcessor公开的事件 从文档中可以看出,我应该创建一个IMouseProcessorProvider,并使用MEF导出,以便VisualStudio能够自动获取它 我创建了这个类: [Export(typeof(IMouseProcessorProvider))] [ContentType("code")] internal sealed class MouseProcessorFactory : IMouseP
[Export(typeof(IMouseProcessorProvider))]
[ContentType("code")]
internal sealed class MouseProcessorFactory : IMouseProcessorProvider
{
public IMouseProcessor GetAssociatedProcessor(IWpfTextView wpfTextView)
{
return new MouseProcessor();
}
}
当我运行VisualStudio的实验实例时,我的扩展在扩展管理器中可见。但我的自定义鼠标处理器提供程序从未被调用。我遗漏了什么/我做错了什么 我认为您还需要添加
TextViewRole
属性
[TextViewRole(PredefinedTextViewRoles.Editable)]
直接从该(非矿山)现场获取:
VSSDK Beta 2错误解决方法
不幸的是,当前的VSSDK Beta 2中有几个bug需要我们解决。我被告知它们将在更新版本中修复,但在此之前,让我带您完成使其正常工作所需的项目清理:
步骤1–调整.csproj文件
。它将被设置为false。将其更改为true|您的项目名称|
我花了一段时间才找到这个问题的完整解决方案,因此我将在此处发布完整的解决方案:
[Export(typeof(IMouseProcessorProvider))]
[ContentType("code")]
[TextViewRole(PredefinedTextViewRoles.Editable)]
[Name("mouseproc")]
internal sealed class MouseProcessorFactory : IMouseProcessorProvider
{
public IMouseProcessor GetAssociatedProcessor(IWpfTextView wpfTextView)
{
return new MouseProcessor();
}
}
我试过你的建议,但不幸的是,结果是一样的;部分原因是IncludeAssemblyInVSIXContainer设置为false。