【发布时间】:2016-09-13 05:33:29
【问题描述】:
我有一个由图像组成的程序。我想将一些图像放在一个文件夹中并动态显示该文件夹的内容。该程序应该是可移植的。我该怎么办?我尝试了以下代码,但没有成功:
String path = "Resources/Location.txt";
String path2 = "/IconImagesForDummies/Icon";
ObservableCollection<IconImagesForDummies> icons = new ObservableCollection<IconImagesForDummies>();
String[] lines = null;
if (File.Exists(path))
lines = File.ReadAllLines(path, Encoding.Unicode);
if (lines != null)
{
for (int i = 0; i < lines.Length; ++i)
{
String str = path2 + @"/" + lines[i];
if (File.Exists(str))
icons.Add(new IconImagesForDummies() { Name = str });
}
}
else
throw new Exception("The Location.txt which stores the location of icons is missing");
if (icons.Count == 0)
throw new Exception("There is no icon image");
Location.txt 包含图像的名称。我的问题是程序找不到 Location.txt。我在资源中插入了 Location.txt。我不得不提到我还使用了另一种方法。我创建了一个新文件夹,而不是String path = "Resources/Location.txt";,我使用了文件夹名称,但它也不起作用。我该怎么办?
【问题讨论】:
-
我认为您的相对路径有问题。调试这个
if (File.Exists(path))。路径存在吗?您可能想阅读本文以获得更好的理解:stackoverflow.com/questions/3259583/… -
@Natrium 实际上它并没有退出,问题是在我的解决方案资源管理器中它存在但不在输出文件中,这就是我使用资源但又无法正常工作的原因
-
@Natrium 其实我也不知道如何用代码在可执行程序旁边放一个文件夹
-
尝试将
build action更改为content和copy to output folder更改为copy always -
@BojanB 谢谢,它完成了工作,请回答以关闭问题:)