使用资源文件时我很困惑。在我的应用程序中,我需要保存一些常见的文件扩展名由于它们很多,我创建了一个类似于:
的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中选择文件时,我有一个选项:
如果我需要这个文件,我应该将该文件复制到输出目录中,以便在将其部署到另一台计算机时能够使用它吗?
答案 0 :(得分:3)
通常,请尽量避免向安装集添加其他文件。如果数据文件只能永久读取,请将其作为资源并将其链接到可执行文件中,这样就不会丢失它。
如果您的意图是最终用户应该能够编辑此数据文件的内容,那么它不应该是链接到可执行文件的资源。
在VS2010中,右键单击项目并选择Add ..,然后选择New Item,并选择Resource File。双击创建的Resource1.resx以显示资源编辑器。从资源编辑器顶部的菜单中,选择Add Resource,然后选择Add Existing File,并选择磁盘上现有的xml文件。这会将XML文件复制到项目的Resources子目录中,并在编译时将文件链接到可执行文件中。您可以通过生成的Resource1类以字符串形式访问此数据。
答案 1 :(得分:0)
资源有两个选项,首先是在.dll / .exe文件中构建它,这就是你所做的,其次是将“复制到输出文件夹”设置为“始终”或“如果已更改”(第二个)可能是错的,但你可以得到点)