2013-08-02 89 views
0

我將文件的整個文件夾作爲嵌入式資源嵌入到我的項目中。構建操作設置爲嵌入式資源,而不是純資源,並且我沒有在屬性中的項目資源列表中包含這些文件。然而,當我嘗試使用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

您是否創建了具有預期重複路徑的文件並檢查了會發生什麼?如果同時存在'Folder.Ext/file.old.xml'和'Folder/Ext/file/old.xml',會發生什麼情況。 –

+0

@WillEddins它只是不會在這種情況下編譯:) – phantasm

回答

0

如果你真的需要知道文件夾結構,你只需要保持可預測性。

如果確保文件夾名稱中沒有句點,文件名只有1個句點,那麼您可以安全地將資源字符串解析爲適當的<namespace>.<path>.<filename>等級。

這也取決於您的要求。如果你只想要Folder1的所有子文件夾,文件夾結構解析的其餘部分不再重要,因爲它只是匹配開始的資源字符串。任何更復雜的事情,你都可能需要以對你有意義的格式保存層次結構信息(可能在構建階段生成)。

+0

是的,我想到了同樣的事情,但希望可以有另一種方式......也許,不是。 – phantasm