我正在尝试访问.js文件。 该文件位于数据库文件夹中,名为 myfile.js ,它只是一个JSON格式的文本文件。
这是我正在使用的代码(这是从 MainPage.xaml.cs :
运行的Uri uri = new Uri("/Database/myfile.js", UriKind.Relative);
var resource = Application.GetResourceStream(uri);
StreamReader streamReader = new StreamReader(resource.Stream);
string rawData = streamReader.ReadToEnd();
它始终抛出NullReferenceException
的异常,因为resource
变量为空。
所以,问题在于Uri。我试着用:
@"/Database/myfile.js"
"/Database/myfile.js"
"/LQI;component/Database/myfile.js"
但它不起作用。 当我尝试将文件移动到根目录并用
替换Uri字符串时@"myfile.js"
它有效!但我不希望这样。
我也尝试将扩展名重命名为.txt,但没有。
请帮忙。 谢谢!
编辑:我将Build Action设置为默认的“Content”。我试图将其设置为“资源”,但它既不起作用。
编辑#2:好的,我找到了一条线索(https://stackoverflow.com/a/12122332/2649132)LQI;component/Database/myfile.js
仅在我将项目设置为资源时才起作用。它确实有效。
但是,当我使用常规路径将构建操作设置为“内容”时,问题仍然存在,因为我无法工作。
答案 0 :(得分:2)
路径是一个相对路径,所以从路径字符串中取出前导“/”,使其显示为“Database / myfile.js”,它应该可以正常工作。