Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plugins 更新到MvvmCross 4.1.4后,缺少MvxLoaderPluginRegistry.AddConventionalPlugin_Plugins_Xamarin_Mvvmcross - Fatal编程技术网

Plugins 更新到MvvmCross 4.1.4后,缺少MvxLoaderPluginRegistry.AddConventionalPlugin

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 4.1.4后,缺少MvxLoaderPluginRegistry.AddConventionalPlugin。现在我可以看到具有不同签名的set或Register方法:


更新后如何加载插件?

通过引导程序加载插件。这些引导程序会自动与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中进行了重构:谢谢,有引导,但代码不起作用。这是很有帮助的:谢谢,有引导程序,但代码不起作用。这很有帮助: