diff options
Diffstat (limited to 'Mono.Addins/Mono.Addins.Database/AddinScanner.cs')
-rw-r--r-- | Mono.Addins/Mono.Addins.Database/AddinScanner.cs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Mono.Addins/Mono.Addins.Database/AddinScanner.cs b/Mono.Addins/Mono.Addins.Database/AddinScanner.cs index dcc5f9e..97b3e6f 100644 --- a/Mono.Addins/Mono.Addins.Database/AddinScanner.cs +++ b/Mono.Addins/Mono.Addins.Database/AddinScanner.cs @@ -81,6 +81,21 @@ namespace Mono.Addins.Database Assembly OnResolveAddinAssembly (object s, ResolveEventArgs args) { + string[] paths = Environment.GetEnvironmentVariable("MONO_ADDINS_RESOLVER_PATH")?.Split(Path.PathSeparator); + if (paths != null) + { + foreach (string path in paths) + { + var assemblyName = new AssemblyName(args.Name).Name; + var assemblyFileName = Path.Combine(path, assemblyName + ".dll"); + + if (File.Exists(assemblyFileName)) + { + return Util.LoadAssemblyForReflection (assemblyFileName); + } + } + } + string file = assemblyLocator != null ? assemblyLocator.GetAssemblyLocation (args.Name) : null; if (file != null) return Util.LoadAssemblyForReflection (file); |