为什么Application.GetResourceStream总是在WP7中返回null?

时间:2012-11-27 14:03:06

标签: c# windows-phone-7 embedded-resource

我正在创建一个Windows Phone应用程序,我将在文本文件中存储关卡数据。

我遇到以下问题:我正在尝试读取文件中的所有行,每次调用Application.GetResourceStream时都返回null

我知道这个话题是由不同的人提出的,但所有的解决方案对我都不起作用。

这是代码:

List<String> fileLines = new List<string>();
var resource = Application.GetResourceStream(
                         new Uri("Level_data/Level_1.txt", UriKind.Relative));
StreamReader streamReader = new StreamReader(resource.Stream);
string line;
while ((line = streamReader.ReadLine()) != null)
    fileLines.Add(line);

此外,解决方案资源管理器看起来像这样。构建操作设置为“资源”,但我也首先尝试“内容”,但也没有工作。

1 个答案:

答案 0 :(得分:7)

以下代码有效:

    Uri u = new Uri("WindowsPhoneGame1;component/Level_data/Level_1.txt",
                                                             UriKind.Relative);
    StreamResourceInfo sInfo=Application.GetResourceStream(u);
    StreamReader sr=  new StreamReader(sInfo.Stream);
    string line;
    while ((line = sr.ReadLine()) != null)
         fileLines.Add(line);
    sr.Close();

之前没有工作的唯一原因是Uri的路径是错误的。 现在是:WindowsPhoneGame1;component/Level_data/Level_1.txt,即(ProjectName);component/(RelativePath)