【发布时间】:2013-04-18 04:39:37
【问题描述】:
我有一个项目通过 StreamReader 将多个文本文件读入列表,我将文件添加到资源下的解决方案中,当我尝试使用 StreamReader 引用文件时,我收到“FileNotFound”异常。
文件被复制到 bin\debug\Resources 中,错误提示它试图在 bin\debug 下找到它们。如何在不使用文字路径的情况下引用它们? (例如 C:\users\etc),因为当我编译时,如果我引用实际路径,它将不会在其他人的 PC 上运行。
调用文本文件的代码:
using (sr = new StreamReader("FileName.txt"))
{
while (!sr.EndOfStream)
Names.Add(sr.ReadLine());
}
在文本文件属性下,我将其设置为“始终复制”,在构建操作下将其设置为“嵌入式资源”。
基本上,我的主要目标是将项目编译为 exe,并在内部引用文本文件(程序不会更改它们的内容),因此我的应用程序将是可移植的。
【问题讨论】:
-
你试过“资源/文件名.txt”吗? :)
-
尝试复制bin\debug下的文件
-
使用相对文件路径。
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
@J0HN,这正在工作,谢谢。我现在正试图通过 Shaharyar 的回答使其可移植。凌天云,你的意思是手动的,还是在Visual Studio中怎么做? tnw 我真的不想这样做,请参阅问题。约翰桑德斯,好的,现在就读。
标签: c# resources streamreader