Предоставление контейнера для плагинов 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 для получения дополнительной информации.

Другие вопросы по тегам