在 Xamarin iOS 应用程序中,我需要随应用程序提供示例文本文件。当我运行单元测试以验证读取时,我收到找不到文件的错误。我尝试了不同的位置来放置文件并将操作设置为嵌入式资源和内容,并且在所有情况下我都会收到未找到的错误。
首先应该将嵌入到应用程序中的文件放在哪里以包含在内。其次,您如何访问文件以及路径是什么?
在 Xamarin iOS 应用程序中,我需要随应用程序提供示例文本文件。当我运行单元测试以验证读取时,我收到找不到文件的错误。我尝试了不同的位置来放置文件并将操作设置为嵌入式资源和内容,并且在所有情况下我都会收到未找到的错误。
首先应该将嵌入到应用程序中的文件放在哪里以包含在内。其次,您如何访问文件以及路径是什么?
我可能会选择嵌入式资源,但是您需要以不同的方式访问它。更多信息在这里:
https://developer.xamarin.com/guides/xamarin-forms/working-with/files/
基本上,您需要使用反射来获取Assembly
,然后GetManifestResourceStream
使用正确的 ID 调用其方法。
您应该能够将文件放在项目的根目录或任何子文件夹中。请务必将文件标记为“内容”。要读取它,只需使用任何 C# 文件 IO 操作,例如:
string text = System.IO.File.ReadAllText("test.txt");
or
string text = System.IO.File.ReadAllText("path/test.txt");
路径将相对于应用程序包的根目录,因此您不需要使用绝对路径。
注意:确保路径和文件名的大小写正确。在模拟器中这无关紧要,因为 OS X 文件系统通常不区分大小写。但是,iOS 是区分大小写的,因此在设备上运行时,大小写错误会导致异常。