Tags: dotnet/msbuild
Tags
[vs18.6] Fix cross-AppDomain TaskItem modifier cache regression (#13515) ### 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](https://devdiv.visualstudio.com/DevDiv/_wiki/wikis/DevDiv.wiki/545/NET-Servicing#risk-taxonomy)) Low ### Link the PR to the original issue and to the PR to main. Backport of #13493 to vs18.6 --------- Co-authored-by: Dustin Campbell <dustin@teamcampbell.org> Co-authored-by: Jan Provazník <janprovaznik@microsoft.com>
Remove duplicate test cases in MultithreadableTaskAnalyzer (#13483)
Remove duplicate test cases in MultithreadableTaskAnalyzer (#13483)
[vs18.5] Fix ScheduleTimeRecord.AccumulatedTime hang during solution … …close (#13448) Work item (Internal use): devdiv2668876 ### Summary Internal bookkeeping about phase durations hit a production assert, causing user hangs in VS. We can make the bookkeeping never throw. ScheduleTimeRecord.AccumulatedTime throws InternalErrorException with 'Can't get the accumulated time while the timer is still running' during Scheduler.WriteDetailedSummary(). This exception kills the BuildManager work queue, preventing any further build results from being processed. EndBuild() hangs indefinitely, causing VS to freeze for hours. The fix returns the best-effort elapsed time (accumulated + current elapsed) when the timer is still running, instead of throwing. This is diagnostic summary data — throwing has no correctness benefit but causes a catastrophic hang. ### Customer Impact Customers are reporting VS hang during project unload. ### Regression? Yes ### Testing New unit test added. ### Risk Minimal. Removes an exception path entirely. Inaccurate summary times could result but should be strictly better than a hang. --------- Co-authored-by: YuliiaKovalova <ykovalova@microsoft.com> Co-authored-by: YuliiaKovalova <95473390+YuliiaKovalova@users.noreply.github.com> Co-authored-by: Rainer Sigwald <raines@microsoft.com> Co-authored-by: MichalPavlik <michalpavlik@outlook.com>
[main] Update dependencies from dotnet/arcade (#13272) This pull request updates the following dependencies [marker]: <> (Begin:369b758c-dad8-4fea-810a-64fb6b0308e9) ## From https://github.com/dotnet/arcade - **Subscription**: [369b758c-dad8-4fea-810a-64fb6b0308e9](https://maestro.dot.net/subscriptions?search=369b758c-dad8-4fea-810a-64fb6b0308e9) - **Build**: [20260219.2](https://dev.azure.com/dnceng/internal/_build/results?buildId=2908079) ([302550](https://maestro.dot.net/channel/8394/github:dotnet:arcade/build/302550)) - **Date Produced**: February 19, 2026 5:05:29 PM UTC - **Commit**: [062ea8ab27da7dbb7d4f630bd50aeab94c9ffb93](dotnet/arcade@062ea8a) - **Branch**: [release/10.0](https://github.com/dotnet/arcade/tree/release/10.0) [DependencyUpdate]: <> (Begin) - **Dependency Updates**: - From [10.0.0-beta.26110.1 to 10.0.0-beta.26119.2][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.XUnitExtensions [1]: dotnet/arcade@4bf37ce...062ea8a [DependencyUpdate]: <> (End) [marker]: <> (End:369b758c-dad8-4fea-810a-64fb6b0308e9) Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
[main] Update dependencies from dotnet/arcade (#13272) This pull request updates the following dependencies [marker]: <> (Begin:369b758c-dad8-4fea-810a-64fb6b0308e9) ## From https://github.com/dotnet/arcade - **Subscription**: [369b758c-dad8-4fea-810a-64fb6b0308e9](https://maestro.dot.net/subscriptions?search=369b758c-dad8-4fea-810a-64fb6b0308e9) - **Build**: [20260219.2](https://dev.azure.com/dnceng/internal/_build/results?buildId=2908079) ([302550](https://maestro.dot.net/channel/8394/github:dotnet:arcade/build/302550)) - **Date Produced**: February 19, 2026 5:05:29 PM UTC - **Commit**: [062ea8ab27da7dbb7d4f630bd50aeab94c9ffb93](dotnet/arcade@062ea8a) - **Branch**: [release/10.0](https://github.com/dotnet/arcade/tree/release/10.0) [DependencyUpdate]: <> (Begin) - **Dependency Updates**: - From [10.0.0-beta.26110.1 to 10.0.0-beta.26119.2][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.XUnitExtensions [1]: dotnet/arcade@4bf37ce...062ea8a [DependencyUpdate]: <> (End) [marker]: <> (End:369b758c-dad8-4fea-810a-64fb6b0308e9) Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
[main] Update dependencies from dotnet/arcade (#13272) This pull request updates the following dependencies [marker]: <> (Begin:369b758c-dad8-4fea-810a-64fb6b0308e9) ## From https://github.com/dotnet/arcade - **Subscription**: [369b758c-dad8-4fea-810a-64fb6b0308e9](https://maestro.dot.net/subscriptions?search=369b758c-dad8-4fea-810a-64fb6b0308e9) - **Build**: [20260219.2](https://dev.azure.com/dnceng/internal/_build/results?buildId=2908079) ([302550](https://maestro.dot.net/channel/8394/github:dotnet:arcade/build/302550)) - **Date Produced**: February 19, 2026 5:05:29 PM UTC - **Commit**: [062ea8ab27da7dbb7d4f630bd50aeab94c9ffb93](dotnet/arcade@062ea8a) - **Branch**: [release/10.0](https://github.com/dotnet/arcade/tree/release/10.0) [DependencyUpdate]: <> (Begin) - **Dependency Updates**: - From [10.0.0-beta.26110.1 to 10.0.0-beta.26119.2][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.XUnitExtensions [1]: dotnet/arcade@4bf37ce...062ea8a [DependencyUpdate]: <> (End) [marker]: <> (End:369b758c-dad8-4fea-810a-64fb6b0308e9) Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
[main] Update dependencies from dotnet/arcade (#13272) This pull request updates the following dependencies [marker]: <> (Begin:369b758c-dad8-4fea-810a-64fb6b0308e9) ## From https://github.com/dotnet/arcade - **Subscription**: [369b758c-dad8-4fea-810a-64fb6b0308e9](https://maestro.dot.net/subscriptions?search=369b758c-dad8-4fea-810a-64fb6b0308e9) - **Build**: [20260219.2](https://dev.azure.com/dnceng/internal/_build/results?buildId=2908079) ([302550](https://maestro.dot.net/channel/8394/github:dotnet:arcade/build/302550)) - **Date Produced**: February 19, 2026 5:05:29 PM UTC - **Commit**: [062ea8ab27da7dbb7d4f630bd50aeab94c9ffb93](dotnet/arcade@062ea8a) - **Branch**: [release/10.0](https://github.com/dotnet/arcade/tree/release/10.0) [DependencyUpdate]: <> (Begin) - **Dependency Updates**: - From [10.0.0-beta.26110.1 to 10.0.0-beta.26119.2][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.XUnitExtensions [1]: dotnet/arcade@4bf37ce...062ea8a [DependencyUpdate]: <> (End) [marker]: <> (End:369b758c-dad8-4fea-810a-64fb6b0308e9) Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
[vs18.3] Stabilize package versions (#13233) CI packages from vs18.3 are being produced with a `-release.{commitid}` pre-release suffix because `DotNetFinalVersionKind` was never set when the branch was stabilized. This adds `<DotNetFinalVersionKind>release</DotNetFinalVersionKind>` to `eng/Versions.props`, matching the pattern used in vs17.14 and other servicing branches, so that packages are produced as stable `18.3.2` versions.
PreviousNext