-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Labels
Area: LanguageIssues impacting the MSBuild programming language.Issues impacting the MSBuild programming language.Priority:2Work that is important, but not critical for the releaseWork that is important, but not critical for the releasetriaged
Description
Issue Description
It seems item function chaining require absence of whitespace before second ->.
Steps to Reproduce
Test.proj:
<Project>
<ItemGroup>
<I Include="A">
<M>F</M>
</I>
<I Include="B">
<M>T</M>
</I>
<I Include="C">
<M>T</M>
</I>
<Test1 Include="@(I -> WithMetadataValue('M', 'T') -> WithMetadataValue('M', 'T'))" />
<Test2 Include="@(I -> WithMetadataValue('M', 'T')-> WithMetadataValue('M', 'T'))" />
</ItemGroup>
</Project>MSBuild command line:
dotnet msbuild -getItem:Test1,Test2Expected Behavior
Both item types (Test1 and Test2) should have the same content.
Actual Behavior
{
"Items": {
"Test1": [
{
"Identity": "@(I -\u003E WithMetadataValue(\u0027M\u0027, \u0027T\u0027) -\u003E WithMetadataValue(\u0027M\u0027, \u0027T\u0027))",
"FullPath": "M:\\Temp\\Test\\@(I -\u003E WithMetadataValue(\u0027M\u0027, \u0027T\u0027) -\u003E WithMetadataValue(\u0027M\u0027, \u0027T\u0027))",
"RootDir": "M:\\",
"Filename": "@(I -\u003E WithMetadataValue(\u0027M\u0027, \u0027T\u0027) -\u003E WithMetadataValue(\u0027M\u0027, \u0027T\u0027))",
"Extension": "",
"RelativeDir": "",
"Directory": "Temp\\Test\\",
"RecursiveDir": "",
"ModifiedTime": "",
"CreatedTime": "",
"AccessedTime": "",
"DefiningProjectFullPath": "M:\\Temp\\Test\\Test.proj",
"DefiningProjectDirectory": "M:\\Temp\\Test\\",
"DefiningProjectName": "Test",
"DefiningProjectExtension": ".proj"
}
],
"Test2": [
{
"Identity": "B",
"M": "T",
"FullPath": "M:\\Temp\\Test\\B",
"RootDir": "M:\\",
"Filename": "B",
"Extension": "",
"RelativeDir": "",
"Directory": "Temp\\Test\\",
"RecursiveDir": "",
"ModifiedTime": "",
"CreatedTime": "",
"AccessedTime": "",
"DefiningProjectFullPath": "M:\\Temp\\Test\\Test.proj",
"DefiningProjectDirectory": "M:\\Temp\\Test\\",
"DefiningProjectName": "Test",
"DefiningProjectExtension": ".proj"
},
{
"Identity": "C",
"M": "T",
"FullPath": "M:\\Temp\\Test\\C",
"RootDir": "M:\\",
"Filename": "C",
"Extension": "",
"RelativeDir": "",
"Directory": "Temp\\Test\\",
"RecursiveDir": "",
"ModifiedTime": "",
"CreatedTime": "",
"AccessedTime": "",
"DefiningProjectFullPath": "M:\\Temp\\Test\\Test.proj",
"DefiningProjectDirectory": "M:\\Temp\\Test\\",
"DefiningProjectName": "Test",
"DefiningProjectExtension": ".proj"
}
]
}
}Analysis
No response
Versions & Configurations
>dotnet --version
10.0.100-rc.2.25502.107
>dotnet msbuild -version
18.0.0.50307
Copilot
Metadata
Metadata
Assignees
Labels
Area: LanguageIssues impacting the MSBuild programming language.Issues impacting the MSBuild programming language.Priority:2Work that is important, but not critical for the releaseWork that is important, but not critical for the releasetriaged