【发布时间】:2010-01-05 18:46:41
【问题描述】:
这可能是显而易见的事情,但我是 c# 新手,所以要温柔...
我有一个应用程序(理论上)将文本文件解析为数组。尽管文本文件是 aspx 文件的对等文件,但我无法正确获取相对路径。不知道它是否有任何区别(我假设没有),但我正在使用代码隐藏。
我的文件夹结构如下:
- default.aspx
- default.aspx.cs
- default.aspx.designer.cs
- 专辑.cs
- 专辑.txt
- web.config
这是我正在使用的代码:
protected void Page_Load(object sender, EventArgs e)
{
string[] allLines = File.ReadAllLines(@"Albums.txt");
Album[] Albums = new Album[allLines.Length];
for (int i = 0; i < allLines.Length; i++)
{
string[] lineSplit = allLines[i].Split(',');
Albums[i] = new Album();
Albums[i].ID = Convert.ToInt32(lineSplit[0]);
Albums[i].title = lineSplit[1];
Albums[i].keyName = lineSplit[2];
}
}
但是,当我构建它时,我收到一条错误消息,提示找不到 albums.txt,它失败了。
任何指针将不胜感激。
本
【问题讨论】:
-
你试过用Server.MapPath("Albums.txt")
-
这个网站是站点吗?还是网络项目?即有没有为此的csproj?我想知道您是否只是没有告诉它 txt 文件应该包含在构建输出中。 (复制到输出目录)
-
你是个传奇!工作了一个款待。 Stack Overflow 也是新手 - 我是否需要做点什么来分配积分/确认此修复是否正确?
-
Server.MapPath 对其进行了排序 - 感谢 Omu(也感谢 Marc 的及时响应。)
-
@Ben,你在评论谁,Omu 还是 Marc?在 SO 上,cmets 和答案会根据您查看帖子的时间和方式进行洗牌。因此,为清楚起见,请使用“@username”处理其他 cmets/answers。至于分数,正确的结果必须在答案中,而不是在评论中,才能获得答案积分(您可以通过单击将鼠标悬停在评论上时出现的向上箭头来对评论进行投票)。找到有效的答案(Server.MapPath?),单击左侧分数下方的复选标记。这“接受”答案为最佳答案(根据您的判断),并奖励其作者。