Ios IMvxResourceLoader引发异常的GetTextResource方法

Ios IMvxResourceLoader引发异常的GetTextResource方法,ios,xamarin,mvvmcross,Ios,Xamarin,Mvvmcross,我正在尝试创建一个使用mvvmcross框架的iOS项目。我得到了一个可以在Windows上运行的项目,我正试图让它在iOS上运行。当我运行代码时,我遇到了一个看似基本但似乎无法解决的问题 下面是代码 public Models.Config GetAppConfig() { var configResourceLoaded = Mvx.Resolve<IMvxResourceLoader>(); string configText = str

我正在尝试创建一个使用mvvmcross框架的iOS项目。我得到了一个可以在Windows上运行的项目,我正试图让它在iOS上运行。当我运行代码时,我遇到了一个看似基本但似乎无法解决的问题

下面是代码

public Models.Config GetAppConfig()
    {
        var configResourceLoaded = Mvx.Resolve<IMvxResourceLoader>();
        string configText = string.Empty;
        try
        { 
            configText = configResourceLoaded.GetTextResource("Assets/AppData/Config.json");
        }
        catch (Exception noFile) {
            string f = "ff";
            f = f + "ff";
        }

        var serializer = Mvx.Resolve<IMvxJsonConverter>();
        return serializer.DeserializeObject<Models.Config>(configText);
    }

你知道我做错了什么吗?为什么不加载文件?

IMvxResourceLoader
使用
IMvxFileStore
。查看您正在使用的调用方法
FullPath
。仔细观察,可以发现:

因此,除非您在路径前面加上
res:
,否则它期望您在
MyDocuments
中查找

将路径更改为:

res:/Assets/AppData/Config.json

我会尝试在您的捕获中添加更多的
f
,这可能是导致问题的原因…内容的
构建操作应该有效-可能尝试一个干净的构建。如果这不起作用,可以将其与示例项目进行比较-例如。
public const string ResScheme = "res:";
protected override string FullPath(string path)
{
    if (path.StartsWith(ResScheme))
        return path.Substring(ResScheme.Length);

    return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), path);
}
res:/Assets/AppData/Config.json