Ios IMvxResourceLoader引发异常的GetTextResource方法
我正在尝试创建一个使用mvvmcross框架的iOS项目。我得到了一个可以在Windows上运行的项目,我正试图让它在iOS上运行。当我运行代码时,我遇到了一个看似基本但似乎无法解决的问题 下面是代码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
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