1

在我们的项目中使用 IMvxResourceloader (MvvmCross v2) 需要遵循哪些步骤。我尝试如下

public class AboutViewModel : BaseViewModel, IMvxServiceConsumer
{

    private const string FileName = "Html/AboutApp.html";
    public AboutViewModel()
    {
        var resourceLoader = this.GetService<IMvxResourceLoader>();
        string HelpText = resourceLoader.GetTextResource(FileName);
    }

}

但失败了。

如果我删除 AboutViewModel() 中的行,应用程序工作正常。

如果我使用这些行,我将无法显示关于视图模型。

有什么建议吗?提前致谢。

除此之外

我正在尝试将“resourceloader”插件初始化为

   private void InitialisePlugins()
    {
        Cirrious.MvvmCross.Plugins.Location.PluginLoader.Instance.EnsureLoaded();
        Cirrious.MvvmCross.Plugins.PhoneCall.PluginLoader.Instance.EnsureLoaded();
        Cirrious.MvvmCross.Plugins.SMS.PluginLoader.Instance.EnsureLoaded();
        Cirrious.MvvmCross.Plugins.Email.PluginLoader.Instance.EnsureLoaded();
        Cirrious.MvvmCross.Plugins.ResourceLoader.PluginLoader.Instance.EnsureLoaded ();
    }

出现以下错误。我正在使用 MvvmCross V2。

Cirrious.MvvmCross.Exceptions.MvxException:插件未在 /Users/macbook2/EmployeeOffers_Aug_05/Cirrious/Cirrious.MvvmCross.Platform.MvxLoaderBasedPluginManager.LoadPlugin (System.Type toLoad) [0x0003a] 中注册为 Cirrious.MvvmCross.Plugins.ResourceLoader 类型的插件.MvvmCross/Plugins/MvxLoaderBasedPluginManager.cs:38 在 Cirrious.MvvmCross.Plugins.MvxBasePluginManager.ExceptionWrappedLoadPlugin (System.Type toLoad) [0x00000] 在 /Users/macbook2/AVC_Aug_05/Cirrious/Cirrious.MvvmCross/Plugins/MvxBasePlugin.cs4:

4

1 回答 1

0

plugin not registered是一个非常明确的错误消息 - 它表明该插件未注册...

我猜缺少的是关于哪个插件未注册的信息——你能让调试器告诉你吗——例如,当MvxException抛出 s 时要求调试器停止。

我的猜测是它要么是插件,File要么是ResourceLoader插件(因为资源依赖于 vNext/v2 中的文件)。

不管是什么,请确保您引用了特定于平台的插件 - 就像您为PhoneCall,Location等所做的那样


除了> 在 v3 中,此错误可能会以不同的方式出现 - 基本上是在尝试在运行时解析文件存储时出现服务未找到错误。

于 2013-08-09T17:00:38.637 回答