链接的资源与嵌入的资源

Visual Studio 项目为处理资源提供了两个选项;资源可以是链接资源(默认)或嵌入资源。 单个项目中可以包含链接资源和嵌入资源。 不过,多数情况下您希望为项目中的所有资源选择一个选项。

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

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

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

备注

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

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

通常,应使用链接的资源,因为这些资源更易于使用。 但是,在有些情况下选择嵌入的资源会更好。

ht9h2dk8.collapse_all(zh-cn,VS.110).gif嵌入的资源

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

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

ht9h2dk8.collapse_all(zh-cn,VS.110).gif创建嵌入资源

将资源添加到 Visual Studio 项目时,这些资源会被创建为链接资源。 在某些情况下,您可能希望将资源嵌入到应用程序资源 (.resx) 文件中。

在**“项目设计器”“资源”**页上,可以将资源从链接资源更改为嵌入资源。

备注

字符串资源总是嵌入在 .resx 文件中,不能更改为链接资源;文件资源在编译时总是链接的。

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

  1. 在**“解决方案资源管理器”中选定一个项目,然后在“项目”菜单中单击“属性”**。

  2. 单击**“资源”**选项卡。

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

  4. 选择要更改的资源。

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

ht9h2dk8.collapse_all(zh-cn,VS.110).gif编辑嵌入的资源

不能直接在 Visual Studio IDE 中编辑 Visual Studio 项目中的嵌入资源;您必须将嵌入资源导出并在外部程序中进行编辑,然后再将它们导入回项目中。

导出嵌入的资源

  1. 在解决方案资源管理器中选择一个项目,然后在**“项目”菜单上单击“属性”**。

  2. 单击**“资源”**选项卡。 将显示资源设计器页,顶部有一个工具栏。

  3. 在资源设计器工具栏上的第一个下拉框中,选择要导入的嵌入资源,如“图像”、“图标”或“音频”。项目中存在的该类型的所有资源都会出现在资源设计器中。

  4. 选择要导出的资源,如图标或音频文件。

  5. 右击该资源,然后在快捷菜单中选择**“导出到文件”**。

    备注

    该命令只对嵌入资源可用。

  6. 在**“将资源导出到文件”对话框中,浏览到要用来存放导出文件的位置,然后单击“保存”**。

导入资源

  1. 在解决方案资源管理器中选择一个项目,然后在**“项目”菜单上单击“属性”**。

  2. 单击**“资源”**选项卡。 将显示资源设计器页。

  3. 在资源设计器工具栏上的第一个下拉框中,选择要导入的嵌入资源,如“图像”、“图标”或“音频”。项目中存在的该类型的所有资源都会出现在资源设计器中。

  4. 选择要导入的资源,如图标或音频文件。

  5. 右击该资源,然后在快捷菜单中选择**“从文件导入”**。

    备注

    该命令只对嵌入资源可用。

  6. 在**“将文件导入到资源”对话框中,浏览到要导入的文件,然后单击“打开”**。

ht9h2dk8.collapse_all(zh-cn,VS.110).gif链接的资源

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

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

  1. 在**“解决方案资源管理器”中选定一个项目,然后在“项目”菜单中单击“属性”**。

  2. 单击**“资源”**选项卡。

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

  4. 选择要更改的资源。

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

请参见

任务

如何:添加或移除资源

如何:编辑资源

其他资源

管理应用程序资源