如何在C#

时间:2016-09-13 05:33:29

标签: c# file

我有一个由图像组成的程序。我想将一些图像放在一个文件夹中,并动态显示该文件夹的内容。该程序应该是可移植的。我该怎么办?我尝试了以下代码但没有工作:

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";,我使用了文件夹名称,但它也没有用。我该怎么办?

1 个答案:

答案 0 :(得分:2)

如果文件未复制到项目的输出文件夹中,请尝试将build action属性设置为content,并确保文件的copy to output folder属性设置为{ {1}}或copy always - 取决于项目的要求。

copy if newer项目中将build action设置为Resource会将文件编译为程序集或可执行文件。这就是为什么在输出文件夹中找不到这样的文件的原因。

来自MSDN:

  

资源文件:编译为可执行文件的数据文件   或库WPF程序集。