Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono-addins.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Ungureanu <marius.ungureanu@xamarin.com>2020-06-03 15:27:21 +0300
committerGitHub <noreply@github.com>2020-06-03 15:27:21 +0300
commit582a7ddec0da3a30fd2ef1490229d142a36ac39f (patch)
tree44126c682edffa41b6142e2ed672f7252b9d2366
parentda152e92666c2629c1f447bdfaa4c95fafd7ce2b (diff)
parentc53f5bb93abcebf6efb8ecbf5b823b40c134e558 (diff)
Merge pull request #142 from GSharpKit/Additional_Search_Path_For_Assembly
-rw-r--r--Mono.Addins/Mono.Addins.Database/AddinScanner.cs15
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);