使用xml文件作为visual studio解决方案的资源

时间:2011-11-05 03:16:30

标签: c# xml resources

使用资源文件时我很困惑。在我的应用程序中,我需要保存一些常见的文件扩展名由于它们很多,我创建了一个类似于:

的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 个答案:

答案 0 :(得分:3)

通常,请尽量避免向安装集添加其他文件。如果数据文件只能永久读取,请将其作为资源并将其链接到可执行文件中,这样就不会丢失它。

如果您的意图是最终用户应该能够编辑此数据文件的内容,那么它不应该是链接到可执行文件的资源。

在VS2010中,右键单击项目并选择Add ..,然后选择New Item,并选择Resource File。双击创建的Resource1.resx以显示资源编辑器。从资源编辑器顶部的菜单中,选择Add Resource,然后选择Add Existing File,并选择磁盘上现有的xml文件。这会将XML文件复制到项目的Resources子目录中,并在编译时将文件链接到可执行文件中。您可以通过生成的Resource1类以字符串形式访问此数据。

答案 1 :(得分:0)

资源有两个选项,首先是在.dll / .exe文件中构建它,这就是你所做的,其次是将“复制到输出文件夹”设置为“始终”或“如果已更改”(第二个)可能是错的,但你可以得到点)