0

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

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

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

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

4

1 回答 1

0

如果您真的需要了解文件夹结构,您只需要保持可预测性即可。

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

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

于 2013-08-02T15:32:45.310 回答