Share via


.Resources 文件格式中的资源

ResourceWriter 类是为创建 .resources 文件而专门设计的。 请记住,您只能将对象保存在 .resources 和 .resx 资源文件中。 只有 .resources 文件格式的资源文件才应该嵌入到运行时可执行文件中(或被编译为附属程序集)。 您可以直接通过代码使用 ResourceWriter 类,或者使用资源文件生成器 (Resgen.exe) 来创建 .resources 文件。

备注

不要使用资源文件来存储密码、安全敏感信息或保密数据。

使用 ResourceWriter 类

您可以使用 ResourceWriter 类直接从代码创建 .resources 文件。 首先,创建具有唯一文件名的 ResourceWriter。 接下来,为要添加到该文件中的每一个字符串调用 ResourceWriter.AddResource 方法。 最后,调用 ResourceWriter.Close 方法以将字符串写入资源文件并关闭 ResourceWriter。 下面的示例阐释此过程。

Imports System
Imports System.Resources

Public Class SampleClass

    Public Shared Sub Main()
        ' Create a resource writer.  Dim rw As IResourceWriter
        rw = new ResourceWriter("myStrings.resources")
        ' Add resources to the file.  rw.AddResource("color1", "red")
        rw.AddResource("color2", "green")
        rw.AddResource("color3", "blue")
        ' Close the ResourceWriter.  rw.Close()
    End Sub
End Class  
using System;
using System.Resources;

public class SampleClass
{
    public static void Main()
    {
        // Create a resource writer.  IResourceWriter rw = new ResourceWriter("myStrings.resources");
        // Add resources to the file.  rw.AddResource("color1", "red");
        rw.AddResource("color2", "green");
        rw.AddResource("color3", "blue");
        // Close the ResourceWriter.  rw.Close();
    }
}  

使用 Resgen.exe

资源文件生成器 (Resgen.exe) 将 .txt 文件转换为 .resources 文件,方法是包装由 ResourceWriter 类实现的方法。 Resgen.exe 还包装 ResourceReader,这使您可以使用该工具将 .resources 文件重新转换为 .txt 文件。

备注

当 Resgen.exe 读取一个文本文件时,注释将丢失,并且将不会被写入到结果 .resources 或 .resx 文件中。

如果文本文件包含重复的资源名,Resgen.exe 将发出警告,并忽略重复的名称。

下面的 Resgen.exe 命令根据输入文件 strings.txt 创建资源文件 strings.resources。

resgen strings.txt

如果您希望输出文件的名称与输入文件的名称不同,则必须显式指定该输出文件的名称。 下面的命令根据输入文件 strings.txt 创建资源文件 MyApp.resources。

resgen strings.txt MyApp.resources

下面的命令根据输入文件 strings.resources 创建文本文件 strings.txt。 请注意,只能对仅包含字符串的 .resources 文件执行这种类型的转换。 任何对象引用均不能被写入到 .txt 文件中。

resgen strings.resources strings.txt

Resgen.exe 将 .resx 文件转换为 .resources 文件,方法是包装由 ResourceWriter 类实现的方法。 Resgen.exe 还包装 ResourceReader,这允许您使用该工具来将 .resources 文件转换回 .resx 文件。

下面的 Resgen.exe 命令根据输入文件 items.resx 创建资源文件 items.resources。

resgen items.resx

下面的命令根据输入文件 items.resources 创建 .resx 文件 items.resx。 请注意,在将 .resx 文件转换为 .resources 文件时,会保留所有对象。

resgen items.resources items.resx

备注

如果出于某种原因 Resgen.exe 失败,则返回值将为 –1。

请参见

参考

Resgen.exe(资源文件生成器)

概念

创建资源文件

文本文件格式中的资源

.Resx 文件格式中的资源