From ae528d65748431471f9ce19d060ae1029fbed5af Mon Sep 17 00:00:00 2001 From: Jan Kotas Date: Mon, 18 Aug 2025 10:10:11 -0700 Subject: [PATCH] [NativeAOT] Use AssemblyNameInfo.Name instead of AssemblyNameInfo.FullName AssemblyNameInfo.FullName includes full public key and other details that leads to very long error messages like: `Method will always throw because: Failed to load type 'NonExistent' from assembly 'System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKey=00240000048000009400000006020000002400005253413100040000010001008d56c76f9e8649383049f383c44be0ec204181822a6c31cf5eb7ef486944d032188ea1d3920763712ccb12d75fb77e9811149e6148e5d32fbaab37611c1878ddc19e20ef135d0cb2cff2bfec3d115810c3d9069638fe4be215dbf795861920e5ab6f7db2e2ceef136ac23d5dd2bf031700aec232f6c6b1c785b4305c123b37ab' Use AssemblyNameInfo.Name instead where possible. --- .../src/Internal/TypeSystem/AssemblyNameInfo.Dummy.cs | 2 +- .../tools/Common/TypeSystem/Common/ThrowHelper.Common.cs | 2 +- .../tools/aot/ILCompiler.Compiler/Compiler/Compilation.cs | 2 +- .../Compiler/DependencyAnalysis/ModuleMetadataNode.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/TypeSystem/AssemblyNameInfo.Dummy.cs b/src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/TypeSystem/AssemblyNameInfo.Dummy.cs index 51d07ba6a15add..01e8b49989759a 100644 --- a/src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/TypeSystem/AssemblyNameInfo.Dummy.cs +++ b/src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/TypeSystem/AssemblyNameInfo.Dummy.cs @@ -6,6 +6,6 @@ namespace Internal.TypeSystem // Dummy implementation of AssemlyNameInfo for runtime type system public abstract class AssemblyNameInfo { - public abstract string FullName { get; } + public abstract string Name { get; } } } diff --git a/src/coreclr/tools/Common/TypeSystem/Common/ThrowHelper.Common.cs b/src/coreclr/tools/Common/TypeSystem/Common/ThrowHelper.Common.cs index 58114db36dfc86..62a6382bb592ec 100644 --- a/src/coreclr/tools/Common/TypeSystem/Common/ThrowHelper.Common.cs +++ b/src/coreclr/tools/Common/TypeSystem/Common/ThrowHelper.Common.cs @@ -65,7 +65,7 @@ public static string Module(ModuleDesc module) IAssemblyDesc assembly = module as IAssemblyDesc; if (assembly != null) { - return assembly.GetName().FullName; + return assembly.GetName().Name; } else { diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Compilation.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Compilation.cs index 4903b28ef49493..1d46b96d22ea7c 100644 --- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Compilation.cs +++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Compilation.cs @@ -183,7 +183,7 @@ public MethodDesc ExpandIntrinsicForCallsite(MethodDesc intrinsicMethod, MethodD if (callsiteModule != null) { Debug.Assert(callsiteModule is IAssemblyDesc, "Multi-module assemblies"); - return _typeGetTypeMethodThunks.GetHelper(intrinsicMethod, ((IAssemblyDesc)callsiteModule).GetName().FullName); + return _typeGetTypeMethodThunks.GetHelper(intrinsicMethod, ((IAssemblyDesc)callsiteModule).GetName().Name); } } } diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ModuleMetadataNode.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ModuleMetadataNode.cs index f913ca95197e8c..9e7aa3edba4db2 100644 --- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ModuleMetadataNode.cs +++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ModuleMetadataNode.cs @@ -63,7 +63,7 @@ public override IEnumerable GetConditionalStaticDep protected override string GetName(NodeFactory factory) { - return "Reflectable module: " + ((IAssemblyDesc)_module).GetName().FullName; + return "Reflectable module: " + ((IAssemblyDesc)_module).GetName().Name; } public override bool InterestingForDynamicDependencyAnalysis => false;