您的位置:首页 > 其它

Linked vs. Embedded Resources(链接的资源与嵌入的资源)

2015-07-02 09:44 267 查看
参考:https://msdn.microsoft.com/zh-cn/library/ht9h2dk8(VS.80).aspx

Linked vs. Embedded Resources

链接的资源与嵌入的资源

Visual Studio项目为处理资源提供了两个不同的选项;资源可以是链接资源(默认)或嵌入资源。虽然在一个项目中可以同时有链接资源和嵌入资源,但大多数情况下需要为项目中的所有资源选择一个选项。

链接资源作为文件存储在项目中;在编译期间,从这些文件中取得资源数据,并将其放到应用程序的清单中。应用程序的资源文件 (.resx) 只存储指向磁盘上的文件的相对路径或链接。

对于嵌入资源,资源数据直接以二进制数据的文本表示形式存储在 .resx 文件中。在任何一种情况下,资源数据都将编译到可执行文件中。

通过更改资源文件的 Persistence 属性,可以将链接的资源更改为嵌入的资源。有关更多信息,请参见如何:创建嵌入的资源。

Note注意

字符串资源总是嵌入的资源,无法更改;文件资源总是链接的资源,也无法更改。

在嵌入的资源和链接的资源之间进行选择

在多数情况下,应该坚持默认的链接资源。但是,在有些情况下选择嵌入的资源会更好。

嵌入的资源

如果需要在多个项目之间共享应用程序资源 (.resx) 文件,则嵌入的资源是最佳选择。例如,如果您有一个包含公司徽标、商标信息等类似内容的通用资源文件,则应使用嵌入的资源,这样您只需复制 .resx 文件,而不用复制关联的资源数据文件。

不能直接编辑嵌入的资源。如果试图编辑嵌入的资源,您将会接收到一条消息,提示您将该项转换为链接的资源以便对其进行编辑;此转换是可选的,但建议进行转换。必须导出它们并在外部程序中进行修改,然后将其导回项目中。

链接的资源

就易用性而言,链接的资源(默认值)是最好的选择。可以在项目内部直接编辑资源,并且可以根据需要轻松添加或移除资源。

资源的相互转换

将链接资源更改为嵌入资源

当“解决方案资源管理器”中有项目选中时,在“项目”菜单上单击“属性”。

单击“资源”选项卡。

在“资源设计器”工具栏上,指向资源视图下拉列表,单击箭头,然后选择要编辑的资源类型。

选择希望更改的资源。

在“属性”窗口中,选择“持久性”属性,并将它更改为“嵌入在 .resx 中”。

将嵌入资源更改为链接资源

当“解决方案资源管理器”中有项目选中时,在“项目”菜单上单击“属性”。

单击“资源”选项卡。

在“资源设计器”工具栏上,指向资源视图下拉列表,单击箭头,然后选择要编辑的资源类型。

选择希望更改的资源。

在“属性”窗口中,选择“持久性”属性,并将它更改为“在编译时链接”。

资源的读取

使用下面的格式就可以调用相关的资源,不管是链接资源还是嵌入的资源

Properties.Resources.File1

如果文件是文本类型,将直接返回读取文件内容,而如果文件是二进制,则返回btye[] 数组

Properties.Resources.Image1 返回图片的bitmap对象

Properties.Resources.String1 返回字符串内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  studio resources embedded