diff --git a/Editor/Link/Analyzer.cs b/Editor/Link/Analyzer.cs index 4472c2a..71b1cbf 100644 --- a/Editor/Link/Analyzer.cs +++ b/Editor/Link/Analyzer.cs @@ -38,10 +38,10 @@ namespace HybridCLR.Editor.Link var typeRefs = new HashSet(TypeEqualityComparer.Instance); foreach (var rootAss in rootAssemblies) { - var dnAss = assCollector.LoadModule(rootAss); + var dnAss = assCollector.LoadModule(rootAss, _analyzeAssetType); foreach (var type in dnAss.GetTypeRefs()) { - if (!rootAssemblyName.Contains(type.DefinitionAssembly.Name)) + if (!rootAssemblyName.Contains(type.DefinitionAssembly.Name.ToString())) { typeRefs.Add(type); } diff --git a/Editor/Meta/AssemblyCache.cs b/Editor/Meta/AssemblyCache.cs index 646f966..04a7442 100644 --- a/Editor/Meta/AssemblyCache.cs +++ b/Editor/Meta/AssemblyCache.cs @@ -27,7 +27,7 @@ namespace HybridCLR.Editor.Meta _asmResolver.UseGAC = false; } - public ModuleDefMD LoadModule(string moduleName) + public ModuleDefMD LoadModule(string moduleName, bool loadReferenceAssemblies = true) { // Debug.Log($"load module:{moduleName}"); if (LoadedModules.TryGetValue(moduleName, out var mod)) @@ -37,10 +37,14 @@ namespace HybridCLR.Editor.Meta mod = DoLoadModule(_assemblyPathResolver.ResolveAssembly(moduleName, true)); LoadedModules.Add(moduleName, mod); - foreach (var refAsm in mod.GetAssemblyRefs()) + if (loadReferenceAssemblies) { - LoadModule(refAsm.Name); + foreach (var refAsm in mod.GetAssemblyRefs()) + { + LoadModule(refAsm.Name); + } } + return mod; } diff --git a/package.json b/package.json index 127f53c..029349b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.focus-creative-games.hybridclr_unity", - "version": "1.1.11", + "version": "1.1.12", "displayName": "HybridCLR", "description": "Unity package for HybridCLR. It includes editor and runtime scripts and assets for HybridCLR", "category": "Runtime",