跨平台的统一本地应用程序存储,包括部署和开发测试

时间:2015-03-20 02:53:00

标签: c# xamarin windows-phone isolatedstorage portable-class-library

虽然我有C#的经验,但我现在才开始探索在Windows 8,Windows Phone和Xamarin下的开发。

我正在尝试编写一个可在Ios,Android,Windows Phone和Windows 7及更高版本上运行的可移植类库。

在我的项目早期,在尝试设置一些基本的单元测试时,我遇到了IsolatedStorage。好的,我可以将我的文件存储在IsolatedStorage中。但Windows 7和8没有这个类(我可以看到)。 (由于这个障碍,我暂时切换到dll。一旦我得到这些问题的答案,我将回到pcl。)

所以现在我想要抽象文件系统,这样当我定位不同的目标时,它应该使用IsolatedStorage,而应该使用Windows文件系统。

另外,关于单元测试(我在Debug Configuration中进行测试),我可以把目录放在任何地方,所以我可以选择,Directory.GetCurrent()我想。但我不想这么想。

现在我的问题:(有两个)

处理此问题的建议方法是什么 - 获取适用于所有目标的应用程序数据的单个根目录?

我想要一些用于测试的文件,这些文件保存在我的解决方案目录的子目录中。在我的抽象类(不是抽象类,但是文件系统抽象类)中,我应该有这样的代码:?

AbstractedFileSystem abstractRootPath;
#if DEBUG
   String abstractRootPathString = Directory.GetCurrentDirectory();
   abstractRootPath = AbstractedFileSystem.CreateFromString(abstractRootPathString);
#else
   abstractRootPath = AbstractedFileSystem.CreateFromIsolatedStorage();
#endif

0 个答案:

没有答案