c# - 未触发 Visual Studio 修饰扩展事件

标签 c# visual-studio

我正在尝试为我的 visual studio 插件创建一个基本的装饰函数。我已经有一个工具窗口和一些命令设置,我正在尝试让 adronment 工作。

关注此walk through来自微软,我的印象是将创建监听器类添加到我的项目中并按照步行中的方式进行设置; visual studio 会自动加载我的那部分插件并为我创建监听器。然而,我正在收听的事件似乎从未被解雇。

下面是我正在使用的代码的主要片段。

[Export(typeof(IWpfTextViewCreationListener))]
[ContentType("code")]
[TextViewRole(PredefinedTextViewRoles.PrimaryDocument)]
internal sealed class Flare_Client_AdornmentFactory : IWpfTextViewCreationListener {


    public void TextViewCreated(IWpfTextView textView) {
        new Flare_Client_Adornment(textView);
    }
}

我想我可能错过了一个步骤,我必须在某个地方注册它存在,但我不知道去哪里找。我需要做什么才能注册此事件?

最佳答案

我已经找出问题所在。当我向现有的 VsPackage 项目添加装饰时,我需要在我的 vsixmanifest 中设置另一个 Assets ,以允许我的项目也成为 MefComponent(这是装饰的项目类型)。

下面是我的 vsixmanifest 的屏幕截图,以帮助更好地展示我的解决方案。

enter image description here

关于c# - 未触发 Visual Studio 修饰扩展事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28181405/

相关文章:

c# - 动态改变面板的大小

c# - 将 nuget 包转移到新的解决方案

c# - 如何在asp.net mvc中使用 Entity Framework 在父表中创建外键并将其分配给子表

c# - 用 C# 编写插件或插件框架

c++ - 在 C++ 中将函数转换为协程的性能损失是什么?

visual-studio - 术语 'dotnet' 未被识别

visual-studio - Visual Studio 网站引用路径

visual-studio - 如何在 Visual Studio 2010 工具箱窗口中放置代码片段?

c# - 如何阻止设计者用空值填充我的属性?

c# - 通过 TCP 协议(protocol)将文件发送到动态端口