diff options
author | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2020-06-03 15:27:21 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-03 15:27:21 +0300 |
commit | 582a7ddec0da3a30fd2ef1490229d142a36ac39f (patch) | |
tree | 44126c682edffa41b6142e2ed672f7252b9d2366 | |
parent | da152e92666c2629c1f447bdfaa4c95fafd7ce2b (diff) | |
parent | c53f5bb93abcebf6efb8ecbf5b823b40c134e558 (diff) |
Merge pull request #142 from GSharpKit/Additional_Search_Path_For_Assembly
-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); |