VS2010鼠标处理器扩展-不工作我正在尝试使用VisualStudio2010扩展,我需要处理IMouseProcessor公开的事件。据我所知,我应该创建一个IMouseProcessorProvider并使用MEF导出,以便VisualStudio可以自动获取它。我创建了这个类:[Export(typeof(IMouseProcessorProvider))][ContentType("code")]internalsealedclassMouseProcessorFactory:IMouseProcessorProvider{publicIMouseProcessorGetAssociatedProcessor(IWpfTextViewwpfTextView){returnnewMouseProcessor();当我运行VisualStudio的实验实例时,我的扩展在扩展管理器中可见。但是我的自定义鼠标处理程序提供程序从未被调用。我错过了什么/我做错了什么?直接取自此(不是我的)站点:扩展VisualStudio2010UML设计器-第1部分:入门VSSDKBeta2Bug解决方法不幸的是,目前VSSDKBeta2中存在一些我们必须解决的错误。我被告知它们将在较新的版本中得到修复,但在此之前,让我向您介绍完成这项工作所需的项目清理:第1步-调整.csproj文件右键单击您的项目并选择“卸载项目”。再次右键单击您的项目并选择“编辑Yourprojectname.csproj”在最上面的属性组中,查找XML标记。它将设置为false。将其更改为true。保存.csproj文件并将其重新加载到VisualStudio.第2步-调整.vsixmanifest文件右键单击??文件“source.extension.vsixmanifest”,然后在名为add的下一行的文件底部选择“查看代码”。(是的,那些竖线很重要。)|您的项目名称|保存并关闭文件。我花了一段时间才找到这个问题的完整解决方案,所以我将在这里发布完整的解决方案:根据280Z28的建议,Beta2的SDK中存在一个错误。您需要手动编辑.csproj以确保您的程序集包含在生成的VSIX文件中。正如JaredPar回答的那样,应该将TextViewRole属性添加到IMouseProcessorProvider实现中。最后,IMouseProcessorProvider也应该使用Name属性进行修饰。总而言之,这段代码有效:(IWpfTextViewwpfTextView){返回新的MouseProcessor();我相信您还需要添加一个TextViewRole属性。以上就是C#学习教程的全部内容:VS2010鼠标处理器扩展-无法正常工作,如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——【TextViewRole(PredefinedTextViewRoles.可编辑)】本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
