Использовать XML-файл в качестве ресурса для решения Visual Studio - PullRequest
2 голосов
/ 05 ноября 2011

Я запутался при использовании файлов ресурсов. В моем приложении мне нужно сохранить некоторые общие расширения файлов. Поскольку их много, я создал 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: \ Users \ Tono \ Desktop ...... FileSignatures.xml

но какой путь мне придется использовать, чтобы он работал при развертывании этого приложения. Я знаю, что могу поместить этот файл в каталог bin, а затем я могу использовать относительный путь. также, когда я выбираю файл в visual studio, у меня есть опция:

enter image description here

Если мне нужен этот файл, следует ли мне скопировать этот файл в выходной каталог, чтобы я мог использовать его при развертывании на другом компьютере?

Я знаю, что, вероятно, смогу решить эту проблему, но я просто хочу убедиться, что я делаю это правильно. Я мог бы решить это, но я не понимаю, как это работает.

Ответы [ 2 ]

3 голосов
/ 05 ноября 2011

В общем, старайтесь избегать добавления дополнительных файлов в ваш установочный набор. Если файл данных будет доступен только для чтения навсегда, сделайте его ресурсом и свяжите его с исполняемым файлом, чтобы не было возможности его потерять.

Если вы хотите, чтобы конечный пользователь мог редактировать содержимое этого файла данных, то это не должен быть ресурс, связанный с исполняемым файлом.

В VS2010 щелкните правой кнопкой мыши свой проект и выберите Add .., затем выберите New Item и Resource File. Дважды щелкните Resource1.resx, который создан, чтобы вызвать редактор ресурсов. В меню в верхней части редактора ресурсов выберите «Добавить ресурс», затем «Добавить существующий файл» и выберите существующий XML-файл на диске. Это скопирует файл XML в подкаталог ресурсов вашего проекта и свяжет файл с исполняемым файлом во время компиляции. Вы можете получить доступ к этим данным в виде строки через сгенерированный класс Resource1.

0 голосов
/ 05 ноября 2011

Есть два варианта с ресурсами, во-первых, встроить их в файл .dll / .exe, и это то, что вы сделали, а во-вторых, установить «Копировать в выходную папку» либо «Всегда», либо «Если изменено» (второеможет быть и не прав, но вы можете получить точку)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...