AssignCulture 任务
此任务接受文件名中可能包含有效 .NET 区域性标识符字符串的项的列表,并且生成包含相应的区域性标识符且名为 Culture
的元数据的项。 例如,文件名 Form1.fr-fr.resx 具有嵌入的区域性标识符“fr-fr”,因此该任务会生成具有相同文件名的项,其中元数据 Culture
等于 fr-fr
。 该任务还会生成文件名中删除了区域性的文件名列表。
任务参数
下表描述了 AssignCulture
任务的参数。
参数 | 说明 |
---|---|
AssignedFiles |
可选的 ITaskItem[] 输出参数。包含 Files 参数收到的项列表,同时向每个项添加 Culture 元数据条目。如果来自 Files 参数的传入项已包含 Culture 元数据条目,则使用原始的元数据条目。如果文件名包含有效的区域性标识符,则该任务仅分配 Culture 元数据条目。 区域性标识符必须位于文件名中最后两个点之间。 |
AssignedFilesWithCulture |
可选的 ITaskItem[] 输出参数。包含 AssignedFiles 参数中具有 Culture 元数据条目的项的子集。 |
AssignedFilesWithNoCulture |
可选的 ITaskItem[] 输出参数。包含 AssignedFiles 参数中不具有 Culture 元数据条目的项的子集。 |
CultureNeutralAssignedFiles |
可选的 ITaskItem[] 输出参数。包含 AssignedFiles 参数中生成的同一项列表,但区域性已从文件名中删除。如果文件名是有效的区域性标识符,该任务仅从文件名中删除区域性。 |
Files |
必选 ITaskItem[] 参数。指定要为其分配区域性并且嵌入了区域性名称的文件的列表。 该任务会尝试确定每个文件是否是区域性特定的资源,如果是,则确定区域性。 若要跳过此检测过程并强制文件保持区域性中性,请将元数据条目 WithCulture 设置为 false 。 |
备注
除本文列出的参数外,此任务还从 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(无其他元数据) |