MvvmCross-'could not load plugin assembly for type Sequence.Plugins.InfiniteScroll.PluginLoader'

MvvmCross - 'could not load plugin assembly for type Sequence.Plugins.InfiniteScroll.PluginLoader'

我最近将 MvvmCross 更新到了 5.0.5 版本。 现在它似乎没有在我的 Windows 10 UWP 应用程序上加载插件。

这是我在开始时收到的异常:

MvvmCross.Platform.Exceptions.MvxException: 'could not load plugin assembly for type Sequence.Plugins.InfiniteScroll.PluginLoader'

我通过 NuGet 安装了插件,我正在使用下面的 bootstrap。当我评论它时,应用程序打开,但显然当我加载列表时它崩溃了。

using MvvmCross.Platform.Plugins;
using Sequence.Plugins.InfiniteScroll;
namespace Check.UWP.Bootstrap
{
  public class InfiniteScrollPluginBootstrap : MvxPluginBootstrapAction<PluginLoader>
  {

  }
}

Image: Project References

我正在使用这个 InfiniteScroll 插件:

https://github.com/HBSequence/Sequence.Plugins

更新前一切正常。

Android,我没问题。

提前致谢。

这是由于 MvvmCross 按程序集名称查找插件的方式。在某些时候这已经改变,现在寻找 Uwp 和 WindowsCommon:https://github.com/MvvmCross/MvvmCross/blob/develop/MvvmCross/Windows/Uwp/Platform/MvxWindowsSetup.cs#L66

这意味着您正在使用的以 WindowsUWP 结尾的插件不会被自动拾取。您可能想要求作者更新他的插件以也针对最新的 MvvmCross 5.x

作为解决此问题的方法,您应该能够从 Setup.cs 文件中加载插件。您可以只删除 bootstrap 文件。

只需将以下代码放入 Setup.cs 文件中的 InitializeLastChance 覆盖中:

Mvx.RegisterSingleton<IIncrementalCollectionFactory>(new IncrementalCollectionFactory());