AssignCulture 任务
此任务接受可能包含有效 .NET 区域性标识符字符串的项目列表作为文件名的一部分,并生成具有名为 Culture
包含相应区域性标识符的元数据的项。 例如,文件名 Form1。fr-fr.resx 具有嵌入的区域性标识符“fr-fr”,因此此任务生成一个文件名相同的项,元数据 Culture
等于 fr-fr
。 该任务还会生成文件名列表,其中包含从文件名中删除的区域性。
任务参数
下表描述了 AssignCulture
任务的参数。
参数 | 描述 |
---|---|
AssignedFiles |
可选 ITaskItem[] 输出参数。包含 Files 参数中收到的项列表,其中 Culture 元数据条目添加到每个项。如果来自 Files 参数的传入项已包含 Culture 元数据项,则使用原始元数据项。如果文件名包含有效的区域性标识符,则任务仅分配 Culture 元数据条目。 区域性标识符必须在文件名的最后两个点之间。 |
AssignedFilesWithCulture |
可选 ITaskItem[] 输出参数。包含具有 Culture 元数据项的 AssignedFiles 参数中的项的子集。 |
AssignedFilesWithNoCulture |
可选 ITaskItem[] 输出参数。包含 AssignedFiles 参数中没有 Culture 元数据项的子集。 |
CultureNeutralAssignedFiles |
可选 ITaskItem[] 输出参数。包含 AssignedFiles 参数中生成的项列表,但从文件名中删除区域性除外。如果任务是有效的区域性标识符,则仅从文件名中删除区域性。 |
Files |
必需 ITaskItem[] 参数。指定要向其分配区域性的嵌入区域性名称的文件列表。 该任务会尝试确定每个文件是否是区域性特定的资源,如果是,则确定区域性。 若要跳过此检测过程并强制文件保持区域性中性,请将元数据条目 WithCulture 设置为 false 。 |
RespectAlreadyAssignedItemCulture |
可选 bool 参数。如果设置为 true - 已设置 Files 项参数上的区域性元数据,并且 CultureNeutralAssignedFiles 将填充 Files 中未更改的文件名。 |
言论
除了本文中列出的参数之外,此任务还从 TaskExtension 类继承参数,该类本身继承自 Task 类。 有关这些附加参数及其说明的列表,请参阅 TaskExtension 基类。
例
以下示例使用 ResourceFiles
项集合执行 AssignCulture
任务。
<Project xmlns="http://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(无其他元数据) |