Я пытаюсь разработать расширение текстового редактора для Visual Studio 2017, и у меня возникают проблемы с импортом экземпляра класса, определенного во внешней сборке, в конструктор IWpfTextEditorCreationListener. Если я пытаюсь импортировать класс, определенный во внешней сборке, в конструктор, IWpfTextEditorCreationListener не запускается.
В расширении реализован интерфейс IWpfTextEditorCreationListener, подобный следующему коду:
[ContentType("code")]
[Export(typeof(IWpfTextViewCreationListener))]
[TextViewRole(PredefinedTextViewRoles.Editable)]
public class MyTextViewCreationListener : IWpfTextViewCreationListener
{
private ExternalClassLibrary.ExternalClass clazz;
[ImportingConstructor]
public MyTextViewCreationListener(ExternalClassLibrary.ExternalClass clazz)
{
this.clazz = clazz;
}
public void TextViewCreated(IWpfTextView textView)
{
clazz.foo();
}
}
ExternalClass реализован в другой сборке следующим образом:
namespace ExternalClassLibrary
{
[Export]
public class ExternalClass
{
public void foo()
{
}
}
}
Если конструктор MyTextViewCreationListener закомментирован, вызывается TextViewCreated (), но он не закомментирован, TextViewCreated () не вызывается.
Можно ли импортировать внешние сборки в IWpfTextViewCreationListener?