From a0357012f087b77c23a7f5f67b27162d833f81ee Mon Sep 17 00:00:00 2001 From: "Hamm, Valentin" Date: Fri, 31 Jan 2025 18:26:47 +0100 Subject: [PATCH] If the renamed type already exists, use a random name. --- ILRepack/RepackImporter.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ILRepack/RepackImporter.cs b/ILRepack/RepackImporter.cs index 5f43c1ce..81e28636 100644 --- a/ILRepack/RepackImporter.cs +++ b/ILRepack/RepackImporter.cs @@ -169,6 +169,15 @@ public TypeDefinition Import(TypeDefinition type, Collection col // rename the type previously imported. // renaming the new one before import made Cecil throw an exception. string other = GenerateName(nt, originalModule?.Mvid.ToString()); + + //Check whether renamed type already exists + TypeDefinition otherNt = _repackContext.TargetAssemblyMainModule.GetType(other); + if (otherNt != null) + { + //Create a random name + other = GenerateName(nt); + } + _logger.Verbose("Renaming " + nt.FullName + " into " + other); nt.Name = other; nt = CreateType(type, col, internalize, null);