2013-08-02 5 views
0

Я внедряю целую папку с файлами в качестве встроенных ресурсов в свой проект. Действия сборки установлены на Встраиваемый ресурс, а не простой Ресурс, и я не включил эти файлы в список ресурсов проекта в свойствах. Однако, когда я пытаюсь получить их полные имена, используя 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 и так далее.

I dunno что делать. Предварительно создать структуру папок в некоторый список файлов и проанализировать его во время выполнения? Это будет полный беспорядок. Может быть, есть более элегантный способ сделать это?

+1

Вы создали файлы с ожидаемыми повторяющимися путями и проверили, что происходит? Мне было бы любопытно, что произойдет, если оба 'Folder.Ext/file.old.xml' и' Folder/Ext/file/old.xml' существуют вместе. –

+0

@WillEddins Это просто не скомпилируется в этом случае :) – phantasm

ответ

0

Если вам действительно нужно знать структуры папок, вам просто нужно держать вещи предсказуемыми.

Если вы гарантируете, что в именах папок нет имен, а имена файлов будут иметь только 1 период, тогда вы можете безопасно проанализировать строку ресурса в соответствующей <namespace>.<path>.<filename> иерархии.

Это зависит от ваших требований. Если вы просто хотите, чтобы все подпапки с Folder1, остальная часть анализа структуры папок больше не имеет значения, поскольку она просто соответствует начальной строке ресурса. Что-то более сложное, вам, вероятно, потребуется сохранить информацию о иерархии (возможно, сгенерированную на фазе сборки) в соответствующем вам формате.

+0

да, я думал то же самое, но надеялся, что может быть другой способ ... возможно, нет. – phantasm

Смежные вопросы