internal static void Register(string assemblyPath)
 {
     if (!string.IsNullOrEmpty(assemblyPath))
     {
         AssemblyPaths.Add(assemblyPath);
     }
 }
Esempio n. 2
0
        private DefaultAssemblyResolver CreateAssemblyResolver()
        {
            var assemblyResolver = new DefaultAssemblyResolver();

            foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
            {
                if (assembly.Location.Replace('\\', '/').StartsWith(Application.dataPath.Substring(0, Application.dataPath.Length - 7)))
                {
                    AssemblyPaths.Add(assembly.Location);
                }

                assemblyResolver.AddSearchDirectory(Path.GetDirectoryName(assembly.Location));
            }

            return(assemblyResolver);
        }
        public void BrowseAssemblies()
        {
            var win = new OpenFileDialog
            {
                DefaultExt  = ".dll",
                Multiselect = true,
            };

            if (win.ShowDialog() != true)
            {
                return;
            }

            var newPaths = win.FileNames.Except(AssemblyPaths, StringComparer.OrdinalIgnoreCase).ToArray();

            foreach (var fileName in newPaths)
            {
                AssemblyPaths.Add(fileName);
            }
        }