Plugins 更新到MvvmCross 4.1.4后,缺少MvxLoaderPluginRegistry.AddConventionalPlugin
更新到MvvmCross 4.1.4后,缺少MvxLoaderPluginRegistry.AddConventionalPlugin。现在我可以看到具有不同签名的set或Register方法:Plugins 更新到MvvmCross 4.1.4后,缺少MvxLoaderPluginRegistry.AddConventionalPlugin,plugins,xamarin,mvvmcross,Plugins,Xamarin,Mvvmcross,更新到MvvmCross 4.1.4后,缺少MvxLoaderPluginRegistry.AddConventionalPlugin。现在我可以看到具有不同签名的set或Register方法: 更新后如何加载插件?通过引导程序加载插件。这些引导程序会自动与MvvmCross插件一起安装在Bootstrap文件夹中$当您通过NuGet安装插件时,rootnamespace将被替换为目标项目的根命名空间 iOS引导程序 继承自MVXLoaderPluginBootstrapacation 命名空间
更新后如何加载插件?通过引导程序加载插件。这些引导程序会自动与MvvmCross插件一起安装在Bootstrap文件夹中$当您通过NuGet安装插件时,rootnamespace将被替换为目标项目的根命名空间 iOS引导程序 继承自MVXLoaderPluginBootstrapacation 命名空间$rootnamespace$.Bootstrap { 公共类BlePluginBootstrap :mvxloaderPluginBootstraction { } } Android引导程序 继承自mvxpluginbootstrapacation 命名空间$rootnamespace$.Bootstrap { 公共类BlePluginBootstrap :mvxpluginbootstrapacation { } } 插件加载程序 公共类插件加载程序 :IMvxPluginLoader { 公共静态只读PluginLoader实例=新PluginLoader; 重新载入公共文件 { var-manager=Mvx.Resolve; manager.confureReplatFormatAdaptionLoaded; } } 插件 每个插件都有其特定于平台的插件类,用于注册接口的实现 命名空间MvvmCross.Plugins.BLE.Droid { 公共类插件 :IMvxPlugin { 公共空荷载 { Mvx.LazyConstructAndRegisterSingleton=>新适配器; } } }
插件是通过引导程序加载的。这些引导程序会自动与MvvmCross插件一起安装在Bootstrap文件夹中$当您通过NuGet安装插件时,rootnamespace将被替换为目标项目的根命名空间 iOS引导程序 继承自MVXLoaderPluginBootstrapacation 命名空间$rootnamespace$.Bootstrap { 公共类BlePluginBootstrap :mvxloaderPluginBootstraction { } } Android引导程序 继承自mvxpluginbootstrapacation 命名空间$rootnamespace$.Bootstrap { 公共类BlePluginBootstrap :mvxpluginbootstrapacation { } } 插件加载程序 公共类插件加载程序 :IMvxPluginLoader { 公共静态只读PluginLoader实例=新PluginLoader; 重新载入公共文件 { var-manager=Mvx.Resolve; manager.confureReplatFormatAdaptionLoaded; } } 插件 每个插件都有其特定于平台的插件类,用于注册接口的实现 命名空间MvvmCross.Plugins.BLE.Droid { 公共类插件 :IMvxPlugin { 公共空荷载 { Mvx.LazyConstructAndRegisterSingleton=>新适配器; } } } 这是真的。MvxLoaderPluginRegistry在MvvmCross 4.1.4中不再有这样的方法 建议使用引导类加载插件。您可以查看如何加载常规方法和非常规方法 注意:您可以对4.1.4之前的所有平台使用MVXLoaderPluginBootstrap。此引导仅适用于iOS/Mac平台 但是,如果您仍然希望使用注册表加载插件,则必须使用新方法指定特定于平台的类: 公共覆盖AddPluginsLoaders MvxLoaderPluginRegistry注册表 { //使用类型注册插件 登记处.登记册; //使用工厂方法注册插件 Register=>newmyplugin.iOS.Plugin; } //别忘了加载这些插件 public override void loadpluginsimvpluginmanager pluginManager { pluginManager.EnsurePluginLoaded; base.LoadPluginspluginManager; } 这是真的。MvxLoaderPluginRegistry在MvvmCross 4.1.4中不再有这样的方法 建议使用引导类加载插件。您可以查看如何加载常规方法和非常规方法 注意:您可以对4.1.4之前的所有平台使用MVXLoaderPluginBootstrap。此引导仅适用于iOS/Mac平台 但是,如果您仍然希望使用注册表加载插件,则必须使用新方法指定特定于平台的类: 公共覆盖AddPluginsLoaders MvxLoaderPluginRegistry注册表 { //使用类型注册插件 登记处.登记册; //使用工厂方法注册插件 Register=>newmyplugin.iOS.Plugin; } //别忘了加载这些插件 public override void loadpluginsimvpluginmanager pluginManager { pluginManager.EnsurePluginLoaded; base.LoadPluginspluginManager; }
请注意,插件注册表在4.1.4中进行了重构:请注意,插件注册表在4.1.4中进行了重构:谢谢,有引导,但代码不起作用。这是很有帮助的:谢谢,有引导程序,但代码不起作用。这很有帮助: