Я пытаюсь создать цель MSBuild для сборки после обработки через пользовательский исполняемый файл (например, convert.exe
).Преобразование разделительной строки в массив или ItemGroup
Целевая группа получает номер с запятой ;
Разделяемый список ассамблей Input
, и я хотел бы сделать пакет Exec
.
<Target Name="_CollectAssemblies" DependsOnTargets="ResolveReferences">
<ItemGroup>
<_Assemblies Include="@(ReferencePath);@(CopyLocalFiles);@(ResolvedDependencyFiles);@(ReferenceDependencyPaths);$(TargetPath)" />
</ItemGroup>
</Target>
<Target Name="_ConvertFiles" DependsOnTargets="_CollectAssemblies"
Inputs="@(_Assemblies)">
<Exec Command="echo @(_Assemblies)" />
<!--<Exec Command="$(MSBuildThisFileDirectory)convert.exe @(_Assemblies)" />-->
</Target>
Exec
В командных выходах, echo Assembly1.dll;Assembly2.dll;Assembly3.dll;
.
Как преобразовать Input
, чтобы я мог обрабатывать каждую сборку отдельно?
например.
echo Assembly1.dll
echo Assembly2.dll
echo Assembly3.dll
До сих пор я пытался:
<Target Name="_ConvertFiles" DependsOnTargets="_CollectAssemblies"
Inputs="@(_Assemblies)">
<ItemGroup>
<_SplitAssemblies Include="$(_Assemblies.Split(';'))" />
</ItemGroup>
<Exec Command="echo %(_SplitAssemblies.Identity)" />
</Target>