Предоставление контейнера для плагинов MvvmCross
Я не уверен, что то, что я пытаюсь сделать, возможно, но здесь идет...
Я хочу создать библиотеку сервисов для использования в приложениях MvvmCross, большинство сервисов, вероятно, будут использовать плагины, написанные мной или третьей стороной.
Вместо того, чтобы заставлять приложения использовать библиотеку сервисов и получать все отдельные пакеты NuGet для этих зависимостей плагинов, я бы предпочел, если либо,
1) Плагины могут быть встроены в сборку библиотеки.
2) Или я мог бы поставить все плагины, необходимые для библиотеки, в одном пакете NuGet, чтобы это был единственный, который приложение должно использовать для использования библиотеки.
Мой вопрос: могут ли плагины быть обернуты таким образом?
1 ответ
Вы можете создать пакет NuGet для своей сервисной библиотеки, который добавляет все плагины как зависимости. Когда пользователь установит ваш пакет, NuGet автоматически установит также все пакеты плагинов.
Например:
<dependencies>
<dependency id="MvvmCross.HotTuna.Plugin.File" version="3.5.1" />
<dependency id="MvvmCross.HotTuna.Plugin.Messenger" version="3.5.1" />
</dependencies>
См. Документацию Nuspec для получения дополнительной информации.