Разработка плагина для системы Thinking Home

Первое, что нужно сделать — создать проект. Для этого нажимаем правой кнопкой на решении ThinkingHome и выбираем пункт Add->New Project.
Скриншот 2015-08-26 01.19.10

Любой плагин представляет собой библиотеку классов C#. Решения именуются следующим образом: ThinkingHome.Plugins.PluginName, где «PluginName» название разрабатываемого плагина. Названия плагинов должны быть уникальными.

Название плагина на картинке ниже — «NooUI».
Скриншот 2015-08-26 01.19.49

Теперь нужно добавить в проект ссылку на библиотеку ThinkingHome.Core.Plugins, в которой содержатся базовые классы для плагинов. Самый простой способ сделать это — подключить ее через менеджер пакетов NuGet. Просто наберите в консоли менеджера пакетов:

Менеджер пакетов NuGet можно найти в меню TOOLS->Library Packege Manager-> Packege Manager Console
Скриншот 2015-08-26 00.33.50

Важно убедиться в том, что выбран именно тот проект, с которым мы хотим работать.

Скриншот 2015-08-26 01.11.51

После этого можно добавлять ссылку на необходимую библиотеку.


Install-Package ThinkingHome.Core.Plugins

Очень важно не забыть добавить ссылку на библиотеку System.ComponentModel.Composition (эта библиотека входит в .NET Framework и как раз в ней-то и содержится реализация MEF).

Скриншот 2015-08-26 01.09.23
Скриншот 2015-08-26 01.09.52
После этого нужно пометить класс плагина атрибутом [Plugin] и унаследовать его от базового плагина «PluginBase». После этого воспользуемся автоматическим подключением необходимых библиотек c#.
Скриншот 2015-08-26 01.12.11

Внимание! Для всех ссылок на сторонние библиотеки нужно установить параметр Copy Local = False!

Скриншот 2015-08-26 01.34.44

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s