Open
Description
Issue Description
In the Dependency target below, OutFiles is what I expect. But its content is duplicated when accessed in the Primary target.
The issue goes away if I remove the Input
and Output
attributes.
Issue.targets:
<Project DefaultTargets="Primary">
<ItemGroup>
<InFiles Include="A.in;B.in" />
</ItemGroup>
<Target Name="Primary"
DependsOnTargets="Dependency">
<Message Text="In Primary target. OutFiles: @(OutFiles)" Importance="high" />
</Target>
<Target Name="Dependency"
Inputs="@(InFiles)"
Outputs="@(InFiles->'%(filename).out')">
<ItemGroup>
<OutFiles Include="*.out" />
</ItemGroup>
<Message Text="In Dependency target. OutFiles: @(OutFiles)" Importance="high" />
</Target>
</Project>
Output:
PS> dotnet build Issue.targets --nologo
In Dependency target. OutFiles: A.out;B.out
In Primary target. OutFiles: A.out;B.out;A.out;B.out
Steps to Reproduce
Here's a working example, since it may depend on file time stamps:
MSBuildIssue.zip
Unzip and run dotnet build Issue.targets
.
Expected Behavior
In Dependency target. OutFiles: A.out;B.out
In Primary target. OutFiles: A.out;B.out
Actual Behavior
In Dependency target. OutFiles: A.out;B.out
In Primary target. OutFiles: A.out;B.out;A.out;B.out
Versions & Configurations
msbuild.exe
- Microsoft (R) Build Engine version 17.3.0-preview-22277-01+f1dae6ab6 for .NET Framework
17.3.0.27701
dotnet.exe
- 6.0.400-preview.22301.10