获取嵌入资源的精确文件夹结构

时间:2013-08-02 13:55:12

标签: c# wpf visual-studio visual-studio-2012 .net-3.5

我在项目中嵌入了整个文件夹作为嵌入资源。构建操作设置为嵌入式资源,而不是纯资源,并且我没有将这些文件包含在属性的项目资源列表中。但是,当我尝试使用GetManifestResourceNames获取全名时,我最终得到一个以句点分隔的完整路径,例如:

MyApp.Resources.Folder.Subfolder.file.dat
MyApp.Resources.Folder.Subfolder.file2.dat
...

坏消息:文件夹结构可能有所不同,它可能包含名为Folder1.00Folder/file1.xml.backup的文件夹 因此,我无法区分文件名何时为Folder.Ext/file.old.xml,何时为Folder/Ext/file/old.xml等等。

我不知道该怎么做。预建文件夹结构到某个文件列表并在运行时解析它?那将是一团糟。也许有更优雅的方式来做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您真的需要知道文件夹结构,那么您只需要保持可预测的内容。

如果您确保文件夹名称中没有句点,并且文件名只有1个句点,那么您可以安全地将资源字符串解析为适当的<namespace>.<path>.<filename>层次结构。

这也取决于您的要求。如果您只想要所有子文件夹Folder1,则文件夹结构解析的其余部分不再重要,因为它只是匹配起始资源字符串。更复杂的是,您可能需要以对您有意义的格式保存层次结构信息(可能在构建阶段生成)。