Skip to content

[vs18.6] Fix cross-AppDomain TaskItem modifier cache regression#13515

Merged
rainersigwald merged 4 commits intovs18.6from
backport/pr-13493-to-vs18.6
Apr 21, 2026
Merged

[vs18.6] Fix cross-AppDomain TaskItem modifier cache regression#13515
rainersigwald merged 4 commits intovs18.6from
backport/pr-13493-to-vs18.6

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Apr 9, 2026

Description

https://dev.azure.com/devdiv/DevDiv/_workitems/edit/2860443/
Recently, ItemSpecModifiers.GetItemSpecModifier was changed to take a Cache struct rather than a single "string? fullPath" parameter. Unfortunately, this increases memory allocations to an unexpected degree -- especially in cross-AppDomain scenarios. This change reduces the size of the Cache struct to just a single FullPath field, which removes the allocation regression.

Customer Impact

caught by automated VS perf tests to cause 100s of MB extra allocations

Regression? (was it working in a previous release or preview?)

Yes

Risk (see taxonomy)

Low

Link the PR to the original issue and to the PR to main.

Backport of #13493 to vs18.6

DustinCampbell and others added 2 commits April 9, 2026 12:01
Recently, ItemSpecModifiers.GetItemSpecModifier was changed to take a Cache struct rather than a single "string? fullPath" parameter. Unfortunately, this increases memory allocations to an unexpected degree -- especially in cross-AppDomain scenarios. This change reduces the size of the Cache struct to just a single FullPath field, which should remove the allocation regression.
@JanProvaznik
Copy link
Copy Markdown
Member

@copilot bump version to 18.6.2

Agent-Logs-Url: https://github.com/dotnet/msbuild/sessions/5ac98ead-0a36-4208-b54e-b451a8372fc9

Co-authored-by: JanProvaznik <25267098+JanProvaznik@users.noreply.github.com>
Copilot AI requested a review from a team as a code owner April 9, 2026 12:10
Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 9, 2026

@copilot bump version to 18.6.2

Done in 2d933e2 — bumped VersionPrefix from 18.6.1 to 18.6.2 in eng/Versions.props.

Copilot AI requested a review from JanProvaznik April 9, 2026 12:11
@JanProvaznik JanProvaznik added this to the .NET 10 milestone Apr 21, 2026
@JanProvaznik JanProvaznik added the merge-carefully Merge one at a time, verifying this doesn't break anything down the chain. label Apr 21, 2026
@rainersigwald rainersigwald enabled auto-merge (squash) April 21, 2026 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-carefully Merge one at a time, verifying this doesn't break anything down the chain. Servicing-approved

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants