为 MvvmCross 插件提供容器

Providing A Container for MvvmCross Plugins

我不确定我正在尝试做的事情是否可行,但这里...

我想创建一个服务库以在 MvvmCross 应用程序中使用,大多数服务可能会使用由我或第三方编写的插件。

与其让应用程序使用服务库去获取这些插件依赖项的所有单独的 NuGet 包,我更愿意,

1) 插件可以内置到库程序集中。

2) 或者我可以在单个 NuGet 包中提供该库所需的所有插件,这样应用程序就必须引入该插件才能使用该库。

我的问题是插件可以这样包装吗?

您可以为您的服务库创建一个 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 Documentation