tôi có một danh sách các dự án trong tập tin MSBuild tôi:Thêm MSBuild batched đầu ra nhiệm vụ như mục siêu dữ liệu
<ItemGroup>
<SubProject Include="**\*.csproj" />
</ItemGroup>
Và bây giờ, tôi muốn thiết lập, trên từng dự án, nó TargetPath
trong một tài sản siêu dữ liệu cho mỗi dự án.
Tôi đã biết làm thế nào để trích xuất các đường dẫn đích cho từng dự án, và đặt nó trên một danh sách các mặt hàng riêng biệt:
<Target Name="ExtractTargetPaths">
<MSBuild Projects="%(SubProject.Identity)" Targets="GetTargetPath">
<Output TaskParameter="TargetOutputs" ItemName="SubProjectTargetPath" />
</MSBuild>
</Target>
Tuy nhiên, tôi muốn để có thể truy cập rằng "SubProjectTargetPath" như siêu dữ liệu trên các mặt hàng SubProject
thay vì có một danh sách các mục riêng biệt.
Tức là, thay vì viết, ví dụ: này:
<SomeTask Parameter="%(SubProjectTargetPath.Identity)" />
tôi sẽ có thể viết một cái gì đó như:
<SomeTask Parameter="%(SubProject.TargetPath)" />
@ImmoLandwerth: Cảm ơn Immo Landwerth đã đề xuất chỉnh sửa (mặc dù nó bị từ chối - tôi đoán là chỉnh sửa được đề xuất là công cụ sai để sửa lỗi đó). –