Merge pull request #251 from TorchAPI/plugin-asm-resolve

Fix assembly resolving.
This commit is contained in:
John Gross
2018-08-15 19:10:26 -07:00
committed by GitHub

View File

@@ -325,23 +325,23 @@ namespace Torch.Managers
if (IsAssemblyCompatible(requiredAssemblyName, asm.GetName()))
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;
}
try
{
AppDomain.CurrentDomain.AssemblyResolve += ResolveDependentAssembly;
foreach (Assembly asm in assemblies)
{
TorchBase.RegisterAuxAssembly(asm);
}
}
finally
{
AppDomain.CurrentDomain.AssemblyResolve -= ResolveDependentAssembly;
}
}
private static bool IsAssemblyCompatible(AssemblyName a, AssemblyName b)
{