我有一个Xamarin.forms共享项目,我想写一个XML文件,该文件必须本地驻留在每个平台(android,iOS和windows)上。
我提到了这个:Working with files,但我似乎得到了错误:
Error 2 The type or namespace name 'SharedPage' could not be found (are you missing a using directive or an assembly reference?)
行:var assembly = typeof(SharedPage).GetTypeInfo().Assembly;
由于我是Xamarin.forms的新手,我还想知道每个平台项目必须放置文件的位置。
答案 0 :(得分:1)
在您的代码中,您将命名空间引用为Test151.XML.WinPhone
,但您应该引用的真实命名空间是Test151.WinPhone.XML
,因为您的WinPhone
项目的程序集根目录为{{1} }}
所以你必须在你的TryFile.cs中改变它: -
Test151.WinPhone
您还尝试从XML文件夹中获取资源,但尚未将文件设置为#if WINDOWS_PHONE
//var resourcePrefix = "Test151.XML.WinPhone.";
var resourcePrefix = "Test151.WinPhone.XML.";
#endif
,因此您也需要这样做。
此外,您尝试使用EmbeddedResource
的程序集尝试加载资源,所以在哪里 - 就像您这样: -
Xamarin.Forms
您需要将其更改为以下内容: - (由于它是var assembly = typeof(ContentPage).GetType().Assembly;
,它将为您提供从中加载资源的正确程序集。
SharedProject
最后一件事,你提到你想要从XML文件中读取和写入。您提到的,您在“使用文件”页面中实现的代码部分将无法帮助您,因为您尝试加载无法回写的嵌入式资源,除非您的目的是编写此代码以后到文件系统?
如果您的目标是完成对本地存储中的文件的读取和写入,那么您需要真正关注的文档的后半部分。