我在项目中嵌入了整个文件夹作为嵌入资源。构建操作设置为嵌入式资源,而不是纯资源,并且我没有将这些文件包含在属性的项目资源列表中。但是,当我尝试使用GetManifestResourceNames
获取全名时,我最终得到一个以句点分隔的完整路径,例如:
MyApp.Resources.Folder.Subfolder.file.dat
MyApp.Resources.Folder.Subfolder.file2.dat
...
坏消息:文件夹结构可能有所不同,它可能包含名为Folder1.00
或Folder/file1.xml.backup
的文件夹
因此,我无法区分文件名何时为Folder.Ext/file.old.xml
,何时为Folder/Ext/file/old.xml
等等。
我不知道该怎么做。预建文件夹结构到某个文件列表并在运行时解析它?那将是一团糟。也许有更优雅的方式来做到这一点?
答案 0 :(得分:0)
如果您真的需要知道文件夹结构,那么您只需要保持可预测的内容。
如果您确保文件夹名称中没有句点,并且文件名只有1个句点,那么您可以安全地将资源字符串解析为适当的<namespace>.<path>.<filename>
层次结构。
这也取决于您的要求。如果您只想要所有子文件夹Folder1
,则文件夹结构解析的其余部分不再重要,因为它只是匹配起始资源字符串。更复杂的是,您可能需要以对您有意义的格式保存层次结构信息(可能在构建阶段生成)。