Merge pull request #251 from TorchAPI/plugin-asm-resolve
Fix assembly resolving.
This commit is contained in:
@@ -325,23 +325,23 @@ namespace Torch.Managers
|
|||||||
if (IsAssemblyCompatible(requiredAssemblyName, asm.GetName()))
|
if (IsAssemblyCompatible(requiredAssemblyName, asm.GetName()))
|
||||||
return asm;
|
return asm;
|
||||||
}
|
}
|
||||||
_log.Warn($"Could find dependent assembly! Requesting assembly: {args.RequestingAssembly}, dependent assembly: {requiredAssemblyName}");
|
if (requiredAssemblyName.Name.EndsWith(".resources", StringComparison.OrdinalIgnoreCase))
|
||||||
|
return null;
|
||||||
|
foreach (var asm in assemblies)
|
||||||
|
if (asm == args.RequestingAssembly)
|
||||||
|
{
|
||||||
|
_log.Warn($"Couldn't find dependency! {args.RequestingAssembly} depends on {requiredAssemblyName}.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
AppDomain.CurrentDomain.AssemblyResolve += ResolveDependentAssembly;
|
AppDomain.CurrentDomain.AssemblyResolve += ResolveDependentAssembly;
|
||||||
foreach (Assembly asm in assemblies)
|
foreach (Assembly asm in assemblies)
|
||||||
{
|
{
|
||||||
TorchBase.RegisterAuxAssembly(asm);
|
TorchBase.RegisterAuxAssembly(asm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
finally
|
|
||||||
{
|
|
||||||
AppDomain.CurrentDomain.AssemblyResolve -= ResolveDependentAssembly;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static bool IsAssemblyCompatible(AssemblyName a, AssemblyName b)
|
private static bool IsAssemblyCompatible(AssemblyName a, AssemblyName b)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user