AssignCulture 任务

此任务接受一组可能在文件名中包含有效的 .NET 区域性标识符字符串的项,并生成具有名为 Culture 的元数据(包含相应的区域性标识符)的项。 例如,文件名 Form1.fr-fr.resx 嵌入了区域性标识符“fr-fr”,因此,此任务将产生一个具有相同文件名、并且元数据 Culture 等于 fr-fr 的项。 该任务还产生一组文件名,这些文件名中的区域性已被移除。

任务参数

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

Parameter

说明

AssignedFiles

可选 ITaskItem[] 输出参数。

包含通过 Files 参数接收到的项列表,其中的每一项都添加了 Culture 元数据项。

如果从 Files 参数传入的项已经包含 Culture 元数据项,将使用最初的元数据项。

该任务将只有在文件名包含有效的区域性标识符时才分配 Culture 元数据项。 区域性标识符必须位于文件名中最后两个点之间。

AssignedFilesWithCulture

可选 ITaskItem[] 输出参数。

包含 AssignedFiles 参数中各项的子集,这些项具有 Culture 元数据项。

AssignedFilesWithNoCulture

可选 ITaskItem[] 输出参数。

包含 AssignedFiles 参数中各项的子集,这些项没有 Culture 元数据项。

CultureNeutralAssignedFiles

可选 ITaskItem[] 输出参数。

包含同一个在 AssignedFiles 参数中产生的项列表,只是区域性已从文件名中移除。

只有当区域性是有效的区域性标识符时,此任务才将它从文件名中移除。

Files

必选 ITaskItem[] 参数。

指定要为其分配区域性并且嵌入了区域性名称的文件的列表。

备注

除了上面列出的参数,此任务还将从 TaskExtension 类继承参数,此类本身从 Task 类继承。 有关这些附加参数及其说明的列表,请参见 TaskExtension 基类

示例

下面的示例使用 ResourceFiles 项集合执行 AssignCulture 任务。

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <ResourceFiles Include="MyResource1.fr.resx"/>
        <ResourceFiles Include="MyResource2.XX.resx"/>
    </ItemGroup>

    <Target Name="Culture">
        <AssignCulture
            Files="@(ResourceFiles)"
            <Output TaskParameter="AssignedFiles"
                ItemName="OutAssignedFiles"/>
            <Output TaskParameter="AssignedFilesWithCulture"
                ItemName="OutAssignedFilesWithCulture"/>
            <Output TaskParameter="AssignedFilesWithNoCulture"
                ItemName="OutAssignedFilesWithNoCulture"/>
            <Output TaskParameter="CultureNeutralAssignedFiles"
                ItemName="OutCultureNeutralAssignedFiles"/>
        </AssignCulture>
    </Target>
</Project>

下表描述了任务执行后各输出项的值。 项的元数据显示在该项后面的括号中。

项集合

内容

OutAssignedFiles

MyResource1.fr.resx (Culture="fr")

MyResource2.XX.resx(无附加元数据)

OutAssignedFilesWithCulture

MyResource1.fr.resx (Culture="fr")

OutAssignedFilesWithNoCulture

MyResource2.XX.resx(无附加元数据)

OutCultureNeutralAssignedFiles

MyResource1.resx (Culture="fr")

MyResource2.XX.resx ((无附加元数据)

请参见

概念

MSBuild 任务

其他资源

MSBuild 任务参考