123456789101112131415161718192021222324252627282930313233 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace HybridCLR.Editor.Meta
- {
- public abstract class AssemblyResolverBase : IAssemblyResolver
- {
- public string ResolveAssembly(string assemblyName, bool throwExIfNotFind)
- {
- if (TryResolveAssembly(assemblyName, out string assemblyPath))
- {
- return assemblyPath;
- }
- if (throwExIfNotFind)
- {
- if (SettingsUtil.HotUpdateAssemblyNamesIncludePreserved.Contains(assemblyName))
- {
- throw new Exception($"resolve Hot update dll:{assemblyName} failed! Please make sure that this hot update dll exists or the search path is configured in the external hot update path.");
- }
- else
- {
- throw new Exception($"resolve AOT dll:{assemblyName} failed! Please make sure that the AOT project has referenced the dll and generated the trimmed AOT dll correctly.");
- }
- }
- return null;
- }
- protected abstract bool TryResolveAssembly(string assemblyName, out string assemblyPath);
- }
- }
|