#c# #xml #resources
#c# #xml #Ресурсы
Вопрос:
Я запутался при использовании файлов ресурсов. В моем приложении мне нужно сохранить некоторые распространенные расширения файлов. Поскольку их много, я создал XML-файл, который выглядит примерно так:
<?xml version="1.0" encoding="utf-8" ?>
<Files>
<File>
<Signature>3026B2758E66CF11A6D900AA0062CE6C</Signature>
<Extension>WMA|WMV|ASF</Extension>
<Description>WindowsMediaFile</Description>
</File>
<File>
<Signature>0000000020000000FFFF0000FFFF</Signature>
<Extension>RES</Extension>
<Description>ResourceFile</Description>
</File>
<File>
<Signature>64383A616E6E6F756E6365</Signature>
<Extension>TORRENT</Extension>
<Description>BitTorrentMetainfoFile</Description>
</File>
..... etc
..... etc
......
Я мог бы использовать файл .setting вместо этого, но я думаю, что это будет не так эффективно.
В любом случае я знаю, как извлечь данные из этого файла. проблемы возникают, когда я планирую использовать это приложение на другом компьютере.
Я могу прочитать данные из этого XML-файла, указав путь: A:UsersTonoDesktop……FileSignatures.xml
но какой путь мне нужно будет использовать, чтобы он работал при развертывании этого приложения. Я знаю, что могу поместить этот файл в каталог bin, а затем использовать относительный путь. также, когда я выбираю файл в Visual Studio, у меня есть опция:
Если мне нужен этот файл, должен ли я скопировать этот файл в выходной каталог, чтобы я мог использовать его при развертывании на другом компьютере?
Я знаю, что, вероятно, смогу решить эту проблему, но я просто хочу убедиться, что я делаю это правильно. Я мог бы решить эту проблему, но я не понимаю, как это работает.
Ответ №1:
В общем, старайтесь избегать добавления дополнительных файлов в ваш установочный набор. Если файл данных всегда будет доступен только для чтения, сделайте его ресурсом и свяжите с исполняемым файлом, чтобы исключить вероятность его потери.
Если вы хотите, чтобы конечный пользователь мог редактировать содержимое этого файла данных, то это не должен быть ресурс, связанный с исполняемым файлом.
В VS2010 щелкните правой кнопкой мыши на вашем проекте и выберите Добавить .., затем выберите Новый элемент и выберите Файл ресурсов. Дважды щелкните созданный файл Resource1.resx, чтобы вызвать редактор ресурсов. В меню в верхней части редактора ресурсов выберите Добавить ресурс, затем добавить существующий файл и выберите существующий XML-файл на диске. Это скопирует XML-файл в подкаталог ресурсов вашего проекта и свяжет файл с вашим исполняемым файлом во время компиляции. Вы можете получить доступ к этим данным в виде строки через сгенерированный класс Resource1.
Комментарии:
1. ResourceManager Менеджер ресурсов = новый менеджер ресурсов («Имяпроекта. Свойства. Ресурсы», сборка. GetExecutingAssembly()); строка yourResourceAsString = ResourceManager. getString(«YourResourceStringID», CultureInfo. InvariantCulture);//Получить строку ресурса
Ответ №2:
Есть два варианта использования ресурсов, первый — встроить его.dll/.exe файл, и это то, что вы сделали, и второе — установить «Копировать в выходную папку» либо «Всегда», либо «При изменении» (второе может быть неправильным, но вы можете понять суть)