Как мне обработать / реализовать System.Web.Editor.ComponentLocator в VS2015, v14
Я не слишком знаком с разработкой Visual Studio Extention, и документация по переносу существующего расширения vs2015 на vs2015 кажется практически несуществующей или просто не помогает подчеркнуть использование типов.
Тем не менее, я клонировал проект MSON Kristensen's JSON intellisense git, чтобы я мог изменить его для поддержки VS2015.
У меня проблема с ссылкой на метод класса в последней версии 14 Microsoft.Web.Editor.dll
сборка. Microsoft.Web.Editor.ComponentLocatorWithOrdering<T>.ImportMany()
, Кажется, он был удален из сборки, и я не могу определить, какой подход / реализация используется в последней сборке.
...
private readonly ItemHandlerRegistry<IJSONSmartTagProvider> _smartTagProviders;
private void RegisterSmartTagProviders()
{
// using Microsoft.Web.Editor;
IEnumerable<Lazy<IJSONSmartTagProvider>> providers = ComponentLocatorWithOrdering<IJSONSmartTagProvider>.ImportMany();
foreach (Lazy<IJSONSmartTagProvider> provider in providers)
{
_smartTagProviders.RegisterHandler(provider.Value.ItemType, provider.Value);
}
}
...
Лучшая ссылка на сборку, тип и метод v12 - это whatdll.com. Это не описывает это; Он также не предоставляет никаких материалов по этому вопросу в контексте миграции (что, в конечном счете, и является тем, для чего я публикую этот вопрос).
Дополнительные соображения
IJSONSmartTagProvder
тип - это пользовательский тип, который, кажется, инкапсулирует SmartTag
, который устарел (или устарел). Более новый (рекомендуемый) тип SuggestedAction
(который кажется интерфейсом к концепции / компоненту, называемому Lightbulb), но даже если бы мне пришлось конвертировать код / пользовательские типы для использования более нового типа, я не обязательно знал бы, как использовать его в последних Microsoft.Web.Editor
сборка аналогично тому, как Мэдс использует свои типы в приведенном выше фрагменте. (также единственный реализующий класс, который я видел ISuggestedAction
находится в росыле).