Skip to content

[main] Source code updates from dotnet/dotnet#65987

Merged
wtgodbe merged 29 commits intomainfrom
darc-main-e4653c8a-81dd-4c9d-b0f3-3613b30dd098
Mar 31, 2026
Merged

[main] Source code updates from dotnet/dotnet#65987
wtgodbe merged 29 commits intomainfrom
darc-main-e4653c8a-81dd-4c9d-b0f3-3613b30dd098

Conversation

@dotnet-maestro
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.3.26153.117 to 11.0.0-preview.3.26176.106
    • dotnet-ef
    • Microsoft.Bcl.AsyncInterfaces
    • Microsoft.Bcl.TimeProvider
    • Microsoft.EntityFrameworkCore
    • Microsoft.EntityFrameworkCore.Design
    • Microsoft.EntityFrameworkCore.InMemory
    • Microsoft.EntityFrameworkCore.Relational
    • Microsoft.EntityFrameworkCore.Sqlite
    • Microsoft.EntityFrameworkCore.SqlServer
    • Microsoft.EntityFrameworkCore.Tools
    • Microsoft.Extensions.Caching.Abstractions
    • Microsoft.Extensions.Caching.Memory
    • Microsoft.Extensions.Configuration
    • Microsoft.Extensions.Configuration.Abstractions
    • Microsoft.Extensions.Configuration.Binder
    • Microsoft.Extensions.Configuration.CommandLine
    • Microsoft.Extensions.Configuration.EnvironmentVariables
    • Microsoft.Extensions.Configuration.FileExtensions
    • Microsoft.Extensions.Configuration.Ini
    • Microsoft.Extensions.Configuration.Json
    • Microsoft.Extensions.Configuration.UserSecrets
    • Microsoft.Extensions.Configuration.Xml
    • Microsoft.Extensions.DependencyInjection
    • Microsoft.Extensions.DependencyInjection.Abstractions
    • Microsoft.Extensions.DependencyModel
    • Microsoft.Extensions.Diagnostics
    • Microsoft.Extensions.Diagnostics.Abstractions
    • Microsoft.Extensions.FileProviders.Abstractions
    • Microsoft.Extensions.FileProviders.Composite
    • Microsoft.Extensions.FileProviders.Physical
    • Microsoft.Extensions.FileSystemGlobbing
    • Microsoft.Extensions.HostFactoryResolver.Sources
    • Microsoft.Extensions.Hosting
    • Microsoft.Extensions.Hosting.Abstractions
    • Microsoft.Extensions.Http
    • Microsoft.Extensions.Logging
    • Microsoft.Extensions.Logging.Abstractions
    • Microsoft.Extensions.Logging.Configuration
    • Microsoft.Extensions.Logging.Console
    • Microsoft.Extensions.Logging.Debug
    • Microsoft.Extensions.Logging.EventLog
    • Microsoft.Extensions.Logging.EventSource
    • Microsoft.Extensions.Logging.TraceSource
    • Microsoft.Extensions.Options
    • Microsoft.Extensions.Options.ConfigurationExtensions
    • Microsoft.Extensions.Options.DataAnnotations
    • Microsoft.Extensions.Primitives
    • Microsoft.Internal.Runtime.AspNetCore.Transport
    • Microsoft.NET.Runtime.MonoAOTCompiler.Task
    • Microsoft.NET.Runtime.WebAssembly.Sdk
    • Microsoft.NETCore.App.Ref
    • Microsoft.NETCore.BrowserDebugHost.Transport
    • Microsoft.NETCore.Platforms
    • System.Collections.Immutable
    • System.Composition
    • System.Configuration.ConfigurationManager
    • System.Diagnostics.DiagnosticSource
    • System.Diagnostics.EventLog
    • System.Diagnostics.PerformanceCounter
    • System.DirectoryServices.Protocols
    • System.Formats.Asn1
    • System.Formats.Cbor
    • System.IO.Hashing
    • System.IO.Pipelines
    • System.Memory.Data
    • System.Net.Http.Json
    • System.Net.Http.WinHttpHandler
    • System.Net.ServerSentEvents
    • System.Numerics.Tensors
    • System.Reflection.Metadata
    • System.Resources.Extensions
    • System.Runtime.Caching
    • System.Security.Cryptography.Pkcs
    • System.Security.Cryptography.Xml
    • System.Security.Permissions
    • System.ServiceProcess.ServiceController
    • System.Text.Encodings.Web
    • System.Text.Json
    • System.Threading.AccessControl
    • System.Threading.Channels
    • System.Threading.RateLimiting
  • From 11.0.0-beta.26153.117 to 11.0.0-beta.26176.106
    • Microsoft.DotNet.Arcade.Sdk
    • Microsoft.DotNet.Build.Tasks.Archives
    • Microsoft.DotNet.Build.Tasks.Installers
    • Microsoft.DotNet.Build.Tasks.Templating
    • Microsoft.DotNet.Helix.Sdk
    • Microsoft.DotNet.RemoteExecutor
    • Microsoft.DotNet.SharedFramework.Sdk
  • From 3.3.0-preview.3.26153.117 to 3.3.0-preview.3.26176.106
    • Microsoft.Web.Xdt
  • From 7.5.0-rc.15417 to 7.6.0-rc.17706
    • NuGet.Frameworks
    • NuGet.Packaging
    • NuGet.Versioning

Associated changes in source repos

Diff the source with this PR branch
darc vmr diff --name-only https://github.com/dotnet/dotnet:7af60210ff756fa343088d4dc1b7080c200dea50..https://github.com/dotnet/aspnetcore:darc-main-e4653c8a-81dd-4c9d-b0f3-3613b30dd098

Updated Dependencies:
Microsoft.NET.Runtime.WebAssembly.Sdk, Microsoft.NETCore.BrowserDebugHost.Transport, Microsoft.NET.Runtime.MonoAOTCompiler.Task, dotnet-ef, Microsoft.Bcl.AsyncInterfaces, Microsoft.Bcl.TimeProvider, Microsoft.EntityFrameworkCore, Microsoft.EntityFrameworkCore.Design, Microsoft.EntityFrameworkCore.InMemory, Microsoft.EntityFrameworkCore.Relational, Microsoft.EntityFrameworkCore.Sqlite, Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore.Tools, Microsoft.Extensions.Caching.Abstractions, Microsoft.Extensions.Caching.Memory, Microsoft.Extensions.Configuration, Microsoft.Extensions.Configuration.Abstractions, Microsoft.Extensions.Configuration.Binder, Microsoft.Extensions.Configuration.CommandLine, Microsoft.Extensions.Configuration.EnvironmentVariables, Microsoft.Extensions.Configuration.FileExtensions, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.Configuration.Json, Microsoft.Extensions.Configuration.UserSecrets, Microsoft.Extensions.Configuration.Xml, Microsoft.Extensions.DependencyInjection, Microsoft.Extensions.DependencyInjection.Abstractions, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.Diagnostics, Microsoft.Extensions.Diagnostics.Abstractions, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Composite, Microsoft.Extensions.FileProviders.Physical, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.HostFactoryResolver.Sources, Microsoft.Extensions.Hosting, Microsoft.Extensions.Hosting.Abstractions, Microsoft.Extensions.Http, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Configuration, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.Logging.Debug, Microsoft.Extensions.Logging.EventLog, Microsoft.Extensions.Logging.EventSource, Microsoft.Extensions.Logging.TraceSource, Microsoft.Extensions.Options, Microsoft.Extensions.Options.ConfigurationExtensions, Microsoft.Extensions.Options.DataAnnotations, Microsoft.Extensions.Primitives, Microsoft.Internal.Runtime.AspNetCore.Transport, Microsoft.NETCore.App.Ref, Microsoft.NETCore.Platforms, System.Collections.Immutable, System.Composition, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Diagnostics.EventLog, System.Diagnostics.PerformanceCounter, System.DirectoryServices.Protocols, System.Formats.Asn1, System.Formats.Cbor, System.IO.Hashing, System.IO.Pipelines, System.Memory.Data, System.Net.Http.Json, System.Net.Http.WinHttpHandler, System.Net.ServerSentEvents, System.Numerics.Tensors, System.Reflection.Metadata, System.Resources.Extensions, System.Runtime.Caching, System.Security.Cryptography.Pkcs, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encodings.Web, System.Text.Json, System.Threading.AccessControl, System.Threading.Channels, System.Threading.RateLimiting (Version 11.0.0-preview.3.26153.117 -> 11.0.0-preview.3.26176.106)
Microsoft.DotNet.Arcade.Sdk, Microsoft.DotNet.Build.Tasks.Archives, Microsoft.DotNet.Build.Tasks.Installers, Microsoft.DotNet.Build.Tasks.Templating, Microsoft.DotNet.Helix.Sdk, Microsoft.DotNet.RemoteExecutor, Microsoft.DotNet.SharedFramework.Sdk (Version 11.0.0-beta.26153.117 -> 11.0.0-beta.26176.106)
Microsoft.Web.Xdt (Version 3.3.0-preview.3.26153.117 -> 3.3.0-preview.3.26176.106)
NuGet.Frameworks, NuGet.Packaging, NuGet.Versioning (Version 7.5.0-rc.15417 -> 7.6.0-rc.17706)
[[ commit created by automation ]]
@dotnet-maestro dotnet-maestro bot requested review from a team, BrennanConroy, halter73 and wtgodbe as code owners March 26, 2026 18:28
@github-actions github-actions bot added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label Mar 26, 2026
Copy link
Copy Markdown
Contributor

@dotnet-policy-service dotnet-policy-service bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto-approving dependency update.

lewing and others added 8 commits March 27, 2026 11:54
Run eng/scripts/GenerateProjectList.ps1 to update generated props files
after codeflow source changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use .Value instead of direct cast from nullable KeyValuePair to
non-nullable, which is now a warning-as-error with the updated
compiler from the codeflow.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@wtgodbe wtgodbe requested a review from a team as a code owner March 27, 2026 19:29
@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented Mar 28, 2026

I think dotnet/runtime#125365 broke us

  Previously, ILLink would:

   1. Check if the file exists at the given path (File.Exists(fileName))
   2. If yes, load it directly via Context.Resolver.GetAssembly(fileName) 
   3. If no, fall back to Context.TryResolve(fileName) (assembly name resolution) 
   4. 
  Now it only does Context.TryResolve(assemblyName) — pure name-based resolution. When AssemblyPaths="" (empty), there are no
  search directories, so TryResolve can't find the assemblies even though the full file paths are provided.

@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 227fbda2-94d8-406e-91e6-26cb20b6628c
    
  • 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 227fbda2-94d8-406e-91e6-26cb20b6628c --force
    

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

@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented Mar 28, 2026

Should be good now, hopefully

@lewing
Copy link
Copy Markdown
Member

lewing commented Mar 28, 2026

cc @agocke

@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented Mar 28, 2026

CC @sbomer as well, I've tried a few different approaches to getting AssemblyPaths/RootAssemblyPaths/other ILLink args populated correctly, without any luck so far

@lewing
Copy link
Copy Markdown
Member

lewing commented Mar 28, 2026

🤖 🤖
from investigating the same ILLink IL1032 errors in the SDK codeflow PR (sdk#53613):

The 26176+ ILLink NuGet package (microsoft.net.illink.tasks) has both the updated targets (assembly names) AND the new task DLL — so the staging mismatch between targets and DLL is resolved when the package is restored. However, anything that adds TrimmerRootAssembly items with full file paths outside of the ILLink targets will still trigger IL1032.

In the SDK, the test itself was adding:

<TrimmerRootAssembly Include="@(IntermediateAssembly->'%(FullPath)')" />

Changing to %(Filename) fixed it (sdk#53620).

The aspnetcore shared fx build may have similar custom TrimmerRootAssembly population in its build targets that still passes file paths. Worth checking eng/ and shared fx build scripts for any TrimmerRootAssembly items set outside the ILLink package targets.

@lewing
Copy link
Copy Markdown
Member

lewing commented Mar 28, 2026

🤖 🤖
Correction on my earlier comment: the Windows IL1032 is NOT a path-vs-name format issue. aspnetcore doesn't have custom TrimmerRootAssembly items — the names are correct. The issue is that Context.TryResolve() can't find the assemblies by name.

runtime#125365 removed the File.Exists() direct-load fallback from RootAssemblyInputStep.LoadAssemblyByName(). Now resolution goes exclusively through Context.TryResolve(), which depends on -d (search directory) arguments to find assemblies. The shared fx build may not have the correct search directories configured for the new name-only resolution.

This is likely a regression in runtime#125365's change to RootAssemblyInputStep — the intent was to enforce assembly-name-only for -a arguments, but it also removed the ability to resolve assemblies that were previously found via file path. The fix should be in the runtime ILLink targets to ensure -d search directories cover the assembly output directories, rather than restoring the File.Exists() fallback (which would undo the incremental build fix).

@sbomer
Copy link
Copy Markdown
Member

sbomer commented Mar 30, 2026

If I'm not missing anything, the assembly root problem is fixed here right? The change to pass assembly names as RootAssemblyNames, and passing full paths into AssemblyPaths, LGTM.

but it also removed the ability to resolve assemblies that were previously found via file path

They just need to be passed as AssemblyPaths instead of RootAssemblyNames.

…hange

%(FileName) on a dotted assembly name like 'Microsoft.AspNetCore.Components'
strips the last segment as a file extension, producing 'Microsoft.AspNetCore'
instead of the full name. Use %(Identity) which preserves the complete name.
@sbomer
Copy link
Copy Markdown
Member

sbomer commented Mar 30, 2026

Looks like the trim warnings were related (the RootAssemblyNames fix caused us to pass the wrong filename for some xml suppressions) - pushed a fix.

@wtgodbe wtgodbe merged commit 8d5666c into main Mar 31, 2026
23 of 27 checks passed
@wtgodbe wtgodbe deleted the darc-main-e4653c8a-81dd-4c9d-b0f3-3613b30dd098 branch March 31, 2026 07:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework build-ops Type: Dependency Update 🔼

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants