Skip to content

[main] Source code updates from dotnet/dotnet - #55245

Merged
JanProvaznik merged 9 commits into
mainfrom
darc-main-28e832d2-6e97-4bef-b27a-6394e130e10e
Jul 14, 2026
Merged

[main] Source code updates from dotnet/dotnet#55245
JanProvaznik merged 9 commits into
mainfrom
darc-main-28e832d2-6e97-4bef-b27a-6394e130e10e

Conversation

@dotnet-maestro

@dotnet-maestro dotnet-maestro Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Note

This is a codeflow update. It may contain both source code changes from
the VMR
as well as dependency updates. Learn more here.

This pull request brings the following source code changes

From https://github.com/dotnet/dotnet

Updated Dependencies

  • From 11.0.0-preview.7.26359.117 to 11.0.0-preview.7.26363.117
    • Microsoft.AspNetCore.Analyzers
    • Microsoft.AspNetCore.App.Ref
    • Microsoft.AspNetCore.App.Ref.Internal
    • Microsoft.AspNetCore.Authentication.Facebook
    • Microsoft.AspNetCore.Authentication.Google
    • Microsoft.AspNetCore.Authentication.MicrosoftAccount
    • Microsoft.AspNetCore.Authorization
    • Microsoft.AspNetCore.Components
    • Microsoft.AspNetCore.Components.Analyzers
    • Microsoft.AspNetCore.Components.Forms
    • Microsoft.AspNetCore.Components.SdkAnalyzers
    • Microsoft.AspNetCore.Components.Web
    • Microsoft.AspNetCore.Components.WebAssembly
    • Microsoft.AspNetCore.Components.WebAssembly.Server
    • Microsoft.AspNetCore.Components.WebView
    • Microsoft.AspNetCore.DeveloperCertificates.XPlat
    • Microsoft.AspNetCore.Metadata
    • Microsoft.AspNetCore.Mvc.Analyzers
    • Microsoft.AspNetCore.Mvc.Api.Analyzers
    • Microsoft.AspNetCore.TestHost
    • Microsoft.Bcl.AsyncInterfaces
    • Microsoft.DotNet.Web.ItemTemplates.11.0
    • Microsoft.DotNet.Web.ProjectTemplates.11.0
    • Microsoft.Dotnet.WinForms.ProjectTemplates
    • Microsoft.DotNet.Wpf.ProjectTemplates
    • Microsoft.Extensions.Configuration.Ini
    • Microsoft.Extensions.DependencyInjection.Abstractions
    • Microsoft.Extensions.DependencyModel
    • Microsoft.Extensions.FileProviders.Abstractions
    • Microsoft.Extensions.FileProviders.Embedded
    • Microsoft.Extensions.FileSystemGlobbing
    • Microsoft.Extensions.Logging
    • Microsoft.Extensions.Logging.Abstractions
    • Microsoft.Extensions.Logging.Console
    • Microsoft.Extensions.ObjectPool
    • Microsoft.JSInterop
    • Microsoft.McpServer.ProjectTemplates.11.0
    • Microsoft.NET.HostModel
    • Microsoft.NET.ILLink.Tasks
    • Microsoft.NET.Sdk.WindowsDesktop
    • Microsoft.NETCore.App.Ref
    • Microsoft.NETCore.Platforms
    • Microsoft.Win32.SystemEvents
    • Microsoft.WindowsDesktop.App.Internal
    • Microsoft.WindowsDesktop.App.Ref
    • System.CodeDom
    • System.ComponentModel.Composition
    • System.Composition.AttributedModel
    • System.Composition.Convention
    • System.Composition.Hosting
    • System.Composition.Runtime
    • System.Composition.TypedParts
    • System.Configuration.ConfigurationManager
    • System.Diagnostics.DiagnosticSource
    • System.Formats.Asn1
    • System.IO.Hashing
    • System.Reflection.MetadataLoadContext
    • System.Resources.Extensions
    • System.Security.Cryptography.Pkcs
    • System.Security.Cryptography.ProtectedData
    • System.Security.Cryptography.Xml
    • System.Security.Permissions
    • System.ServiceProcess.ServiceController
    • System.Text.Encoding.CodePages
    • System.Text.Json
    • System.Windows.Extensions
  • From 11.1.0-preview.26359.117 to 11.1.0-preview.26363.117
    • Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal
    • Microsoft.CodeAnalysis.Razor.Tooling.Internal
    • Microsoft.NET.Sdk.Razor.SourceGenerators.Transport
  • From 18.10.0-preview-26359-117 to 18.10.0-1.26363.117
    • Microsoft.Build
    • Microsoft.Build.Localization
    • Microsoft.Build.TaskAuthoring.Analyzer
  • From 7.10.0-rc.36017 to 7.10.0-rc.36417
    • Microsoft.Build.NuGetSdkResolver
    • NuGet.Build.Tasks
    • NuGet.Build.Tasks.Console
    • NuGet.Build.Tasks.Pack
    • NuGet.CommandLine.XPlat
    • NuGet.Commands
    • NuGet.Common
    • NuGet.Configuration
    • NuGet.Credentials
    • NuGet.DependencyResolver.Core
    • NuGet.Frameworks
    • NuGet.LibraryModel
    • NuGet.Localization
    • NuGet.Packaging
    • NuGet.ProjectModel
    • NuGet.Protocol
    • NuGet.Versioning
  • From 11.0.100-preview.7.26359.117 to 11.0.100-preview.7.26363.117
    • Microsoft.Build.Tasks.Git
    • Microsoft.SourceLink.AzureRepos.Git
    • Microsoft.SourceLink.Bitbucket.Git
    • Microsoft.SourceLink.Common
    • Microsoft.SourceLink.GitHub
    • Microsoft.SourceLink.GitLab
  • From 5.10.0-1.26359.117 to 5.10.0-1.26363.117
    • Microsoft.CodeAnalysis
    • Microsoft.CodeAnalysis.BuildClient
    • Microsoft.CodeAnalysis.CSharp
    • Microsoft.CodeAnalysis.CSharp.CodeStyle
    • Microsoft.CodeAnalysis.CSharp.Features
    • Microsoft.CodeAnalysis.CSharp.Workspaces
    • Microsoft.CodeAnalysis.ExternalAccess.HotReload
    • Microsoft.CodeAnalysis.PublicApiAnalyzers
    • Microsoft.CodeAnalysis.Workspaces.Common
    • Microsoft.CodeAnalysis.Workspaces.MSBuild
    • Microsoft.Net.Compilers.Toolset
    • Microsoft.Net.Compilers.Toolset.Framework
  • From 2.0.0-preview.1.26359.117 to 2.0.0-preview.1.26363.117
    • Microsoft.Deployment.DotNet.Releases
  • From 3.0.0-preview.7.26359.117 to 3.0.0-preview.7.26363.117
    • Microsoft.DiaSymReader
    • System.CommandLine
  • From 11.0.0-beta.26359.117 to 11.0.0-beta.26363.117
    • Microsoft.DotNet.Arcade.Sdk
    • Microsoft.DotNet.Build.Tasks.Installers
    • Microsoft.DotNet.Build.Tasks.Templating
    • Microsoft.DotNet.Build.Tasks.Workloads
    • Microsoft.DotNet.Helix.JobMonitor
    • Microsoft.DotNet.Helix.Sdk
    • Microsoft.DotNet.SignTool
    • Microsoft.DotNet.XliffTasks
    • Microsoft.DotNet.XUnitV3Extensions
  • From 15.2.101-preview7.26359.117 to 15.2.101-preview7.26363.117
    • Microsoft.FSharp.Compiler
  • From 11.0.0-preview.7.26359.117 to 11.0.0-preview.7.26360.111
    • Microsoft.NET.Runtime.Emscripten.5.0.6.Cache.win-x64
  • From 18.10.0-preview-26359-117 to 18.10.0-preview-26363-117
    • Microsoft.NET.Test.Sdk
    • Microsoft.TestPlatform.Build
    • Microsoft.TestPlatform.CLI
  • From 3.3.0-preview.7.26359.117 to 3.3.0-preview.7.26363.117
    • Microsoft.Web.Xdt

Associated changes in source repos

Diff the source with this PR branch
darc vmr diff --name-only https://github.com/dotnet/dotnet:b25932e8d128b5242f1d89691f8e8171b82774c0..https://github.com/dotnet/sdk:darc-main-28e832d2-6e97-4bef-b27a-6394e130e10e

dotnet-maestro Bot added 2 commits July 11, 2026 02:16
Updated Dependencies:
Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.App.Ref.Internal, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.Components.Web, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.DeveloperCertificates.XPlat, Microsoft.AspNetCore.Metadata, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.AspNetCore.TestHost, Microsoft.Bcl.AsyncInterfaces, Microsoft.DotNet.Web.ItemTemplates.11.0, Microsoft.DotNet.Web.ProjectTemplates.11.0, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.DependencyInjection.Abstractions, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Embedded, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.ObjectPool, Microsoft.JSInterop, Microsoft.McpServer.ProjectTemplates.11.0, Microsoft.NET.HostModel, Microsoft.NET.ILLink.Tasks, Microsoft.NET.Runtime.Emscripten.5.0.6.Cache.win-x64, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.NETCore.App.Ref, Microsoft.NETCore.Platforms, Microsoft.Win32.SystemEvents, Microsoft.WindowsDesktop.App.Internal, Microsoft.WindowsDesktop.App.Ref, System.CodeDom, System.ComponentModel.Composition, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.IO.Hashing, System.Reflection.MetadataLoadContext, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.ProtectedData, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encoding.CodePages, System.Text.Json, System.Windows.Extensions (Version 11.0.0-preview.7.26359.117 -> 11.0.0-preview.7.26360.111)
Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 11.1.0-preview.26359.117 -> 11.1.0-preview.26360.111)
Microsoft.Build, Microsoft.Build.Localization, Microsoft.Build.TaskAuthoring.Analyzer (Version 18.10.0-preview-26359-117 -> 18.10.0-1.26360.111)
Microsoft.Build.NuGetSdkResolver, NuGet.Build.Tasks, NuGet.Build.Tasks.Console, NuGet.Build.Tasks.Pack, NuGet.CommandLine.XPlat, NuGet.Commands, NuGet.Common, NuGet.Configuration, NuGet.Credentials, NuGet.DependencyResolver.Core, NuGet.Frameworks, NuGet.LibraryModel, NuGet.Localization, NuGet.Packaging, NuGet.ProjectModel, NuGet.Protocol, NuGet.Versioning (Version 7.10.0-rc.36017 -> 7.10.0-rc.36111)
Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 11.0.100-preview.7.26359.117 -> 11.0.100-preview.7.26360.111)
Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.ExternalAccess.HotReload, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.10.0-1.26359.117 -> 5.10.0-1.26360.111)
Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26359.117 -> 2.0.0-preview.1.26360.111)
Microsoft.DiaSymReader, System.CommandLine (Version 3.0.0-preview.7.26359.117 -> 3.0.0-preview.7.26360.111)
Microsoft.DotNet.Arcade.Sdk, Microsoft.DotNet.Build.Tasks.Installers, Microsoft.DotNet.Build.Tasks.Templating, Microsoft.DotNet.Build.Tasks.Workloads, Microsoft.DotNet.Helix.JobMonitor, Microsoft.DotNet.Helix.Sdk, Microsoft.DotNet.SignTool, Microsoft.DotNet.XliffTasks, Microsoft.DotNet.XUnitV3Extensions (Version 11.0.0-beta.26359.117 -> 11.0.0-beta.26360.111)
Microsoft.FSharp.Compiler (Version 15.2.101-preview7.26359.117 -> 15.2.101-preview7.26360.111)
Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.10.0-preview-26359-117 -> 18.10.0-preview-26360-111)
Microsoft.Web.Xdt (Version 3.3.0-preview.7.26359.117 -> 3.3.0-preview.7.26360.111)
[[ commit created by automation ]]
@dotnet-maestro
dotnet-maestro Bot requested a review from a team as a code owner July 11, 2026 02:17
@dotnet-maestro

Copy link
Copy Markdown
Contributor Author

Note

VMR PRs included in this codeflow update:

💡 You may consult the FAQ for more information or tag @dotnet/prodconsvcs for assistance.

@JanProvaznik

Copy link
Copy Markdown
Member

Root cause of the ItCanTestAMultiTFMProjectWithImplicitRestore / It_builds_deps_correctly_when_projects_do_not_get_restored failures: MSBuild #14274 (change wave 18.10)

@ViktorHofer — flagging this codeflow's test failures, which I root-caused while investigating #55231.

This PR brings Microsoft.Build 18.10.0-1.26360.111. The two failing tests fail with:

Skipping project ".../TestLibrary/TestLibrary.csproj" because it was not found.
NuGet.targets(571,5): error MSB3202: The project file ".../TestLibrary/TestLibrary.csproj" was not found. [.../XUnitProject/XUnitProject.csproj]

Evidence it's an MSBuild behavior change (not the SDK)

Version bisection (SDK rebuilt with each MSBuild, ItCanTestAMultiTFMProjectWithImplicitRestore):

  • 18.10.0-preview-26359-117 (current main) → PASS
  • 18.10.0-1.26360.x (this codeflow) → FAIL

Change-wave experiment on the 26360 build:

  • CW 18.10 enabled (default) → FAIL
  • MSBUILDDISABLEFEATURESFROMVERSION=18.10PASS

The only change-wave-18.10 restore change in the 26359→26360 window is dotnet/msbuild#14274 ("Pass ExcludeRestorePackageImports during restore to avoid redundant evaluations"). It adds ExcludeRestorePackageImports=true to the initial /restore evaluation's global properties so it matches NuGet's inner evaluation and gets reused.

Mechanism

With #14274, a ProjectReference pointing at a nonexistent .csproj now becomes a fatal MSB3202 during implicit restore, where it was previously tolerated (silently skipped). The affected test asset references a project that isn't in the repo:

  • test/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj has <ProjectReference Include="../TestLibrary/TestLibrary.csproj" />
  • but TestLibrary/ contains only Helper.cs — there is no TestLibrary.csproj (and never has been, per git history).

So this is either (a) an unintended #14274 regression in how restore handles missing project references, or (b) #14274 correctly surfacing long-broken test assets that carry dangling ProjectReferences.

Confirmation it's independent of any SDK-side change

The same two tests + same MSB3202 also reproduce on #55231, and there I confirmed they are server-independent (they fail with MSBUILDUSESERVER=0), so this is purely the MSBuild flow, not anything SDK-side.

Suggested resolution

Either an MSBuild-side adjustment to #14274 (keep tolerating nonexistent ProjectReferences during restore), or fix the SDK test assets that carry dangling references (at least MultiTFMXunitProject; TestAppWithLibraryUnderTFM/TestLibrary is also missing its .csproj). Happy to do the test-asset fixes if that's the preferred direction.

@dotnet-maestro

Copy link
Copy Markdown
Contributor Author

Important

While this PR was open, the source repository has received code changes from this repository (an opposite codeflow merged).
To avoid complex conflicts, the codeflow cannot continue until this PR is closed or merged.

You can continue with one of the following options:

  • Ignore this and merge this PR as usual without waiting for the new changes.
    Once merged, Maestro will create a new codeflow PR with the new changes.
  • Close this PR and wait for Maestro to open a new one with old and new changes included.
    You will lose any manual changes made in this PR.
    You can also manually trigger the new codeflow right away by running:
    darc trigger-subscriptions --id 94ba9a9b-a084-4c1e-bf44-d0c711c17773
    
  • Force a codeflow into this PR at your own risk if you want the new changes.
    User commits made to this PR might be reverted.
    darc trigger-subscriptions --id 94ba9a9b-a084-4c1e-bf44-d0c711c17773 --force
    

💡 You may consult the FAQ for more information or tag @dotnet/prodconsvcs for assistance.

dotnet-maestro Bot added 3 commits July 13, 2026 15:19
Updated Dependencies:
Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.App.Ref.Internal, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.Components.Web, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.DeveloperCertificates.XPlat, Microsoft.AspNetCore.Metadata, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.AspNetCore.TestHost, Microsoft.Bcl.AsyncInterfaces, Microsoft.DotNet.Web.ItemTemplates.11.0, Microsoft.DotNet.Web.ProjectTemplates.11.0, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.DependencyInjection.Abstractions, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Embedded, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.ObjectPool, Microsoft.JSInterop, Microsoft.McpServer.ProjectTemplates.11.0, Microsoft.NET.HostModel, Microsoft.NET.ILLink.Tasks, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.NETCore.App.Ref, Microsoft.NETCore.Platforms, Microsoft.Win32.SystemEvents, Microsoft.WindowsDesktop.App.Internal, Microsoft.WindowsDesktop.App.Ref, System.CodeDom, System.ComponentModel.Composition, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.IO.Hashing, System.Reflection.MetadataLoadContext, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.ProtectedData, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encoding.CodePages, System.Text.Json, System.Windows.Extensions (Version 11.0.0-preview.7.26360.111 -> 11.0.0-preview.7.26363.107)
Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 11.1.0-preview.26360.111 -> 11.1.0-preview.26363.107)
Microsoft.Build, Microsoft.Build.Localization, Microsoft.Build.TaskAuthoring.Analyzer (Version 18.10.0-1.26360.111 -> 18.10.0-1.26363.107)
Microsoft.Build.NuGetSdkResolver, NuGet.Build.Tasks, NuGet.Build.Tasks.Console, NuGet.Build.Tasks.Pack, NuGet.CommandLine.XPlat, NuGet.Commands, NuGet.Common, NuGet.Configuration, NuGet.Credentials, NuGet.DependencyResolver.Core, NuGet.Frameworks, NuGet.LibraryModel, NuGet.Localization, NuGet.Packaging, NuGet.ProjectModel, NuGet.Protocol, NuGet.Versioning (Version 7.10.0-rc.36111 -> 7.10.0-rc.36407)
Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 11.0.100-preview.7.26360.111 -> 11.0.100-preview.7.26363.107)
Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.ExternalAccess.HotReload, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.10.0-1.26360.111 -> 5.10.0-1.26363.107)
Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26360.111 -> 2.0.0-preview.1.26363.107)
Microsoft.DiaSymReader, System.CommandLine (Version 3.0.0-preview.7.26360.111 -> 3.0.0-preview.7.26363.107)
Microsoft.DotNet.Arcade.Sdk, Microsoft.DotNet.Build.Tasks.Installers, Microsoft.DotNet.Build.Tasks.Templating, Microsoft.DotNet.Build.Tasks.Workloads, Microsoft.DotNet.Helix.JobMonitor, Microsoft.DotNet.Helix.Sdk, Microsoft.DotNet.SignTool, Microsoft.DotNet.XliffTasks, Microsoft.DotNet.XUnitV3Extensions (Version 11.0.0-beta.26360.111 -> 11.0.0-beta.26363.107)
Microsoft.FSharp.Compiler (Version 15.2.101-preview7.26360.111 -> 15.2.101-preview7.26363.107)
Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.10.0-preview-26360-111 -> 18.10.0-preview-26363-107)
Microsoft.Web.Xdt (Version 3.3.0-preview.7.26360.111 -> 3.3.0-preview.7.26363.107)
[[ commit created by automation ]]
@dotnet-maestro

Copy link
Copy Markdown
Contributor Author

Note

VMR PRs included in this codeflow update:

💡 You may consult the FAQ for more information or tag @dotnet/prodconsvcs for assistance.

dotnet-maestro Bot added 2 commits July 14, 2026 02:10
Updated Dependencies:
Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.App.Ref.Internal, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.Components.Web, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.DeveloperCertificates.XPlat, Microsoft.AspNetCore.Metadata, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.AspNetCore.TestHost, Microsoft.Bcl.AsyncInterfaces, Microsoft.DotNet.Web.ItemTemplates.11.0, Microsoft.DotNet.Web.ProjectTemplates.11.0, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.DependencyInjection.Abstractions, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Embedded, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.ObjectPool, Microsoft.JSInterop, Microsoft.McpServer.ProjectTemplates.11.0, Microsoft.NET.HostModel, Microsoft.NET.ILLink.Tasks, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.NETCore.App.Ref, Microsoft.NETCore.Platforms, Microsoft.Win32.SystemEvents, Microsoft.WindowsDesktop.App.Internal, Microsoft.WindowsDesktop.App.Ref, System.CodeDom, System.ComponentModel.Composition, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.IO.Hashing, System.Reflection.MetadataLoadContext, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.ProtectedData, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encoding.CodePages, System.Text.Json, System.Windows.Extensions (Version 11.0.0-preview.7.26363.107 -> 11.0.0-preview.7.26363.117)
Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 11.1.0-preview.26363.107 -> 11.1.0-preview.26363.117)
Microsoft.Build, Microsoft.Build.Localization, Microsoft.Build.TaskAuthoring.Analyzer (Version 18.10.0-1.26363.107 -> 18.10.0-1.26363.117)
Microsoft.Build.NuGetSdkResolver, NuGet.Build.Tasks, NuGet.Build.Tasks.Console, NuGet.Build.Tasks.Pack, NuGet.CommandLine.XPlat, NuGet.Commands, NuGet.Common, NuGet.Configuration, NuGet.Credentials, NuGet.DependencyResolver.Core, NuGet.Frameworks, NuGet.LibraryModel, NuGet.Localization, NuGet.Packaging, NuGet.ProjectModel, NuGet.Protocol, NuGet.Versioning (Version 7.10.0-rc.36407 -> 7.10.0-rc.36417)
Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 11.0.100-preview.7.26363.107 -> 11.0.100-preview.7.26363.117)
Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.ExternalAccess.HotReload, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.10.0-1.26363.107 -> 5.10.0-1.26363.117)
Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26363.107 -> 2.0.0-preview.1.26363.117)
Microsoft.DiaSymReader, System.CommandLine (Version 3.0.0-preview.7.26363.107 -> 3.0.0-preview.7.26363.117)
Microsoft.DotNet.Arcade.Sdk, Microsoft.DotNet.Build.Tasks.Installers, Microsoft.DotNet.Build.Tasks.Templating, Microsoft.DotNet.Build.Tasks.Workloads, Microsoft.DotNet.Helix.JobMonitor, Microsoft.DotNet.Helix.Sdk, Microsoft.DotNet.SignTool, Microsoft.DotNet.XliffTasks, Microsoft.DotNet.XUnitV3Extensions (Version 11.0.0-beta.26363.107 -> 11.0.0-beta.26363.117)
Microsoft.FSharp.Compiler (Version 15.2.101-preview7.26363.107 -> 15.2.101-preview7.26363.117)
Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.10.0-preview-26363-107 -> 18.10.0-preview-26363-117)
Microsoft.Web.Xdt (Version 3.3.0-preview.7.26363.107 -> 3.3.0-preview.7.26363.117)
[[ commit created by automation ]]
@ViktorHofer

Copy link
Copy Markdown
Member

Root cause of ItCanTestAMultiTFMProjectWithImplicitRestore failure

The failure is caused by MSBuild change dotnet/msbuild#14274 (commit 74b436163700d626d8f5ec87d7aea4d2f47844c6), which is included in the MSBuild bump in this codeflow (18.10.0-preview-26359-11718.10.0-1.26363.117).

What the change does

XMake.ExecuteRestore now injects ExcludeRestorePackageImports=true into the restore global properties, gated behind Change Wave 18.10 (active in this build). This is the same property NuGet already passes when it re-invokes projects during restore (_GenerateRestoreGraphProjectEntryInputProperties in NuGet.targets). The intent is to make MSBuild''s initial restore evaluation match NuGet''s inner one so the evaluation is reused instead of duplicated.

Why the test fails

ItCanTestAMultiTFMProjectWithImplicitRestore runs dotnet test --framework net11.0 (implicit restore) on the multi-targeted MultiTFMXunitProject/XUnitProject, whose ProjectReference points at ../TestLibrary/TestLibrary.csproj — a file that deliberately does not exist (the TestLibrary folder contains only Helper.cs). Restore is supposed to skip the dangling reference gracefully, and did before this change.

The actual error:

NuGet.targets(571,5): error MSB3202: The project file "...\TestLibrary\TestLibrary.csproj" was not found. [XUnitProject.csproj]

Mechanism (reproduced + confirmed via binlog)

I reproduced this with a local SDK by mimicking the change (dotnet build -t:Restore /p:ExcludeRestorePackageImports=true on a multi-TFM project with a missing ProjectReference):

Run Result
without the property Restore succeeds — missing project skipped gracefully
ExcludeRestorePackageImports=true error MSB3202 on the missing project

Comparing binlogs:

  • Both runs log the benign Skipping project "…TestLibrary.csproj" because it was not found in NuGet''s SkipNonexistentProjects="true" walk/filter steps.
  • Only with the property set does _GenerateRestoreGraph then invoke _GenerateRestoreGraphProjectEntry on the missing TestLibrary.csproj — a <MSBuild> call that does not set SkipNonexistentProjectsMSB3202.

Once MSBuild''s top-level restore instance shares the same global-property set (ExcludeRestorePackageImports=true) that NuGet''s inner _GenerateRestoreProjectPathWalk requests, that walk executes in the same project instance instead of a separate child instance. The walk''s side-effect item _RestoreProjectPathItems — which contains the raw, unfiltered ProjectReference paths (including the nonexistent project) — then bleeds into _GenerateRestoreGraph''s non-skipping <MSBuild> call. Previously the differing configuration kept that pollution isolated in a separate instance, so the missing project was filtered out before that step.

Why only this test

The change only adds the property in the -restore switch / ExecuteRestore path (implicit restore). The other multi-TFM tests run an explicit dotnet restore step, which does not go through ExecuteRestore, so they never get the property and still pass. The --framework pin is not required to trigger it — ExcludeRestorePackageImports=true + a multi-TFM project + a missing ProjectReference is sufficient.

Recommendation

Revert dotnet/msbuild#14274 (or hold it behind an off-by-default gate) until the underlying NuGet restore-target behavior — _GenerateRestoreGraphProjectEntry not honoring SkipNonexistentProjects — is addressed. Reverting the MSBuild change restores the previous (graceful-skip) behavior.

Regressed by MSBuild #14274 (ExcludeRestorePackageImports during implicit
restore), which fails with MSB3202 on multi-TFM projects that have a
nonexistent <ProjectReference>. The MSBuild change is being reverted in
dotnet/msbuild#14349. Re-enable tracked by #55263.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 395f543d-fb00-4a06-95b1-a7738432a141
@ViktorHofer

Copy link
Copy Markdown
Member

Pushed a commit to this codeflow branch temporarily disabling ItCanTestAMultiTFMProjectWithImplicitRestore ([Ignore]) to unblock this PR.

ViktorHofer added a commit to dotnet/msbuild that referenced this pull request Jul 14, 2026
…14349)

Reverts the change from #14274, which injected
`ExcludeRestorePackageImports=true` into the implicit restore global
properties (behind change wave 18.10) so that NuGet's restore
re-invocation would reuse MSBuild's initial evaluation instead of
forcing a second one.

### Why revert

The change breaks restore for projects that have a **nonexistent
`<ProjectReference>`**. Once the top-level restore evaluation shares the
same global property set that NuGet's inner
`_GenerateRestoreProjectPathWalk` invocation uses, that walk runs in the
*same* project instance and its unfiltered `_RestoreProjectPathItems`
(which contains the raw `ProjectReference` paths, including missing
ones) leaks into `_GenerateRestoreGraph`'s
`_GenerateRestoreGraphProjectEntry` MSBuild call. That call does not set
`SkipNonexistentProjects`, so it fails with `MSB3202` instead of
skipping the missing project.

```
NuGet.targets(571,5): error MSB3202: The project file "...\TestLibrary\TestLibrary.csproj" was not found.
```

This regressed the dotnet/sdk test
`ItCanTestAMultiTFMProjectWithImplicitRestore` — see dotnet/sdk#55245
for the full root-cause analysis and repro.

### Details

- Only the implicit-restore (`-restore` switch / `ExecuteRestore`) path
was affected; explicit `dotnet restore` / `-t:Restore` never added the
property.
- Reproduced with `dotnet build -t:Restore
/p:ExcludeRestorePackageImports=true` on a multi-TFM project with a
dangling `ProjectReference`: without the property restore succeeds
(missing project skipped gracefully); with it, `MSB3202`.

### What this PR does

- Removes the `ExcludeRestorePackageImports=true` injection in
`XMake.ExecuteRestore`, replacing it with a comment documenting **why**
the property must not be set there.
- Removes the `ExcludeRestorePackageImports` /
`ExcludeRestorePackageImportsValue` constants and the two related unit
tests.
- Removes the 18.10 ChangeWaves.md bullet for this feature.
- **Retains** change wave `18.10` itself — it is still used by the
`-getProperty`/`-getItem` evaluation change (#14290).

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…_restored

Same root cause as ItCanTestAMultiTFMProjectWithImplicitRestore (#55263): dotnet/msbuild#14274 (ExcludeRestorePackageImports during restore, change wave 18.10) regresses restore for projects excluded from restore via _IsProjectRestoreSupported. For the 'TestApp.' case, TestApp.deps.json lists transitive non-SDK project references by their project name instead of the overridden AssemblyName. Disable pending the msbuild#14349 revert flowing in.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 499249b7-514f-4ecf-88bc-2466455069c5
@JanProvaznik
JanProvaznik merged commit 83265f8 into main Jul 14, 2026
31 of 33 checks passed
@JanProvaznik
JanProvaznik deleted the darc-main-28e832d2-6e97-4bef-b27a-6394e130e10e branch July 14, 2026 11:42
@dotnet-milestone-bot dotnet-milestone-bot Bot added this to the 11.0-preview7 milestone Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants