Share via


GenerateResource 任务

更新:2007 年 11 月

在 .txt 和 .resx(基于 XML 的资源格式)文件与公共语言运行库二进制 .resources 文件之间进行转换,这些 .resources 文件可以嵌入到运行库二进制可执行文件中或编译到附属程序集中。此任务通常用于将 .txt 或 .resx 文件转换为 .resource 文件。GenerateResource 任务在功能上类似于 resgen.exe

参数

下表描述了 GenerateResource 任务的参数。

参数

说明

FilesWritten

可选的 ITaskItem[] 输出参数。

包含写入到磁盘的所有文件的名称。这包括缓存文件(如果有的话)。此参数对实现 Clean 非常有用。

OutputResources

可选的 ITaskItem[] 输出参数。

指定生成的文件(如 .resources 文件)的名称。如果未指定名称,将使用匹配的输入文件的名称,并会将创建的 .resources 文件放入包含该输入文件的目录中。

PublicClass

可选的 Boolean 参数。

如果为 true,则作为公共类创建强类型的资源类。

References

可选的 String[] 参数。

要在 .resx 文件中从中加载类型的引用。Resx 文件数据元素可能具有 .NET 类型。读取 .resx 文件时,必须对此类型进行解析。通常,使用标准的类型加载规则即可成功地解析此类型。如果您在 References 中提供了程序集,则它们的优先级更高。

此参数对于强类型资源不是必需的。

Sources

必选的 ITaskItem[] 参数。

指定要转换的项。传递给此参数的项必须具有下面的某个文件扩展名:

  • .txt:为要转换的文本文件指定此扩展名。文本文件只能包含字符串资源。

  • .resx:为要转换的基于 XML 的资源文件指定此扩展名。

  • .restext:指定与 .txt 相同的格式。如果您要将包含资源的源文件与生成过程中的其他源文件明确地区分开,则这个不同的扩展名非常有用。

  • .resources:为要转换的资源文件指定此扩展名。

StateFile

可选的 ITaskItem 参数。

指定可选缓存文件的路径,该文件用来加速对 .resx 输入文件中的链接进行依赖项检查。

StronglyTypedClassName

可选的 String 参数。

指定强类型资源类的类名。如果未指定此参数,将使用资源文件的基名称。

StronglyTypedFilename

可选的 ITaskItem 参数。

指定资源文件的文件名。如果未指定此参数,将使用类的名称作为基文件名,其扩展名取决于所使用的语言。例如:MyClass.cs。

StronglyTypedLanguage

可选的 String 参数。

指定在为强类型资源生成类源时要使用的语言。此参数必须与 CodeDomProvider 使用的某一种语言完全匹配。例如,VB 或 C#。

将值传递给此参数即指示任务生成强类型资源。

StronglyTypedNamespace

可选的 String 参数。

指定用于为强类型资源生成的类源的命名空间。如果未指定此参数,则任何强类型资源都将位于全局命名空间中。

UseSourcePath

可选的 Boolean 参数。

如果为 true,表明将使用输入文件的目录来解析相对文件路径。

备注

由于 .resx 文件可能包含指向其他资源文件的链接,因此仅仅通过比较 .resx 和 .resource 文件的时间戳来查看输出是否为最新是不够的。GenerateResource 任务将遵循 .resx 文件中的链接,同时检查链接文件的时间戳。这意味着通常不应对包含 GenerateResource 任务的目标使用 InputsOutputs 属性,因为这样可能会导致当实际上应运行此任务时却跳过了此任务。

示例

下面的示例使用 GenerateResource 任务基于 Resx 项集合指定的文件生成 .resources 文件。

<GenerateResource
    Sources="@(Resx)"
    OutputResources="@(Resx->'$(IntermediateOutputPath)%(Identity).resources')">
    <Output
        TaskParameter="OutputResources"
        ItemName="Resources"/>
</GenerateResource>

请参见

概念

MSBuild 任务

其他资源

MSBuild 任务参考