You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
NativeAOT returns null Type.Namespace for a nested generic type whose FullName includes a namespace #135106
A nested generic type has a correct namespace-qualified FullName but a null Namespace under NativeAOT. The same executable under CoreCLR returns the namespace for both the constructed type and its generic definition.
This was found while validating generated Orleans serialization-contract registrations. A standalone reproduction without Orleans or other package dependencies reproduces it. Orleans' type-name formatter uses Type.Namespace, so a format/parse round-trip then loses the namespace. No formatter workaround was added.
Reproduction
A net10.0 console project with project-local <PublishAot>true</PublishAot>:
Windows x64, .NET SDK 10.0.401, runtime and Microsoft.DotNet.ILCompiler 10.0.12. Native publishing used Visual Studio 2022 environmental tools with IlcUseEnvironmentalTools=true. The standalone reproduction publishes normally without trim/AOT warning suppressions.
Expected behavior
The constructed nested type and its definition return NamespaceRepro, matching CoreCLR and their namespace-qualified FullName values. Related Orleans investigation: dotnet/orleans#11374.
Activity
dotnet-policy-service commentedon Oct 2, 2026
Tagging subscribers to this area: @agocke, @dotnet/ilc-contrib
See info in area-owners.md if you want to be subscribed.
Fix NativeAOT namespace lookup for nested generic types (#135177)