나는 (예를 들어 그 내용을 표시하기 전에) 어떤 것을하기 전에 특정 방식으로 정렬하고 싶은 Item List를 가지고있다. 나는 그렇게 할 수있는 사용자 지정 작업을 작성했습니다, 다음과 같이 대상에서 사용할 때 그것을 잘 작동합니다 :MSBuild의 항목 내용 바꾸기?
<Target Name="List">
<SortProjects In="@(Projects)">
<Output ItemName="SortedProjects" TaskParameter="Out"/>
</SortProjects>
<ListProjects In="@(SortedProjects)"/>
</Target>
그래서 큰하지만 내가 정말하고 싶은 것은 그 자체 (프로젝트) @를 수정입니다
<Target Name="List">
<SortProjects In="@(Projects)">
<Output ItemName="Projects" TaskParameter="Out"/>
</SortProjects>
<ListProjects In="@(Projects)"/>
</Target>
내가 여러 대상으로 물건을 나눌 수있는 방법 : 자동 있도록,
<Target Name="Sort">
<SortProjects In="@(Projects)">
<Output ItemName="Projects" TaskParameter="Out"/>
</SortProjects>
</Target>
<Target Name="List">
<ListProjects In="@(Projects)"/>
</Target>
을 그리고 나는 "정렬"는 InitialTarget을 대상으로 만들 수보다는 새로운 아이템을 m 이전에 실행 "List"와 같은 모든 대상에 SortProjects 작업을 넣지 않고 "List"와 같은 다른 대상을 빌드하려고합니다.
불행히도 Output을 @ (Projects)로 지정하려고하면 @ (Projects)의 내용을 덮어 쓰지 않습니다. 대신, 그것은 그것들을 추가합니다. 그래서 ListProjects 정렬 된 프로젝트에 의해 정렬되지 않은 프로젝트를 나열합니다. 나는 이것이 SortProjects 작업의 명백한 알고리즘상의 실수로 인한 것이 아니라고 확신한다.
내용을 추가하는 대신 내용을 바꿀 수있는 방법이 있습니까? 또는, 더 일반적으로, 내가 여기에서하려고하는 것을 이루기위한 다른 방법? 감사.