public ChooseAssemblies(string path)
 {
     dbInteraction.SetPathForConnection(path);
     _searchPath = dbInteraction.GetAssemblySearchPath();
     InitializeComponent();
     InitializePaths();
 }
示例#2
0
 public ChooseAssemblies(string path)
 {
     dbInteraction.SetPathForConnection(path);
     _searchPath = dbInteraction.GetAssemblySearchPath();
     InitializeComponent();
     InitializePaths();
 }
示例#3
0
        private ISearchPath LoadSearchPath()
        {
            ISearchPath searchPath = PathContainerFor(Db4oClient.OMNConnection).SearchPath;

            Db4oClient.CloseRecentConnectionFile();
            return(searchPath);
        }
示例#4
0
        public bool LoadAssembly(ISearchPath searchPath)
        {

            AppDomain.CurrentDomain.AssemblyResolve += (CurrentDomain_AssemblyResolve);
            try
            {

                foreach (string path in searchPath.Paths)
                {
                    if (!File.Exists(path))
                    {
                        MessageBox.Show(path + " does not exist. Please remove it using 'Add Assemblies' button.",
                                        "Object Manager Enterprise",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return false;
                    }

                    string[] str = path.Split('\\');
                    string name = str[str.Length - 1];
                    name = name.Remove(name.LastIndexOf('.'));
                    bool check = AppDomain.CurrentDomain.GetAssemblies().Any(a => a.GetName().Name == name);
                    if (check == false)
                    {
                        Assembly assembly = ManageCustomConfig.LoadAssembly(path);
                        assemblies[assembly.FullName] = assembly;
                    }
                }
                return true;
            }
            catch (Exception exception)
            {
                LoggingHelper.ShowMessage(exception);
                return false;
            }
        }
        public bool LoadAssembly(ISearchPath searchPath)
        {
            InitalizeException();
            AppDomain.CurrentDomain.AssemblyResolve += (CurrentDomain_AssemblyResolve);
            try
            {
                foreach (string path in searchPath.Paths)
                {
                    if (!File.Exists(path))
                    {
                        MessageBox.Show(path + " does not exist. Please remove it using 'Add Assemblies' button.",
                                        "Object Manager Enterprise",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return(false);
                    }

                    string[] str  = path.Split('\\');
                    string   name = str[str.Length - 1];
                    name = name.Remove(name.LastIndexOf('.'));
                    bool check = AppDomain.CurrentDomain.GetAssemblies().Any(a => a.GetName().Name == name);
                    if (check == false)
                    {
                        Assembly assembly = ManageCustomConfig.LoadAssembly(path);
                        assemblies[assembly.FullName] = assembly;
                    }
                }
                return(true);
            }
            catch (Exception exception)
            {
                LoggingHelper.ShowMessage(exception);
                return(false);
            }
        }
示例#6
0
        public bool LoadAppDomain(ISearchPath searchPath)
        {
            try
            {
                if (customConfigAssemblyInspector == null)
                {
                    customConfigAssemblyInspector = CreateAppDomain();
                }

                if (searchPath.Paths.Any())
                {
                    if (!customConfigAssemblyInspector.LoadAssembly(searchPath))
                    {
                        AppDomain.Unload(workerAppDomain);
                        workerAppDomain = null;
                        CustomConfigInspectorObject.ClearAll();
                        return(false);
                    }
                }
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
示例#7
0
        public bool LoadAppDomain(ISearchPath searchPath)
        {
            try
            {
                if (customConfigAssemblyInspector == null)
                    customConfigAssemblyInspector = CreateAppDomain();

                if (searchPath.Paths.Any())
                {

                    if (!customConfigAssemblyInspector.LoadAssembly(searchPath))
                    {
                        AppDomain.Unload(workerAppDomain);
                        workerAppDomain = null;
                        CustomConfigInspectorObject.ClearAll(); 
                        return false;

                    }
                }
                return true;
            }
            catch (Exception)
            {
                return false;
            }
          
        }
示例#8
0
		public static Assembly Resolve(ISearchPath searchPath, string name)
		{
			foreach (string path in searchPath.Paths)
			{
				string assemblyPath = Path.Combine(path, name);
				Assembly assembly = TryLoadAssembly(assemblyPath);
				if (null != assembly)
				{
					return assembly;
				}
			}

			return null;
		}
示例#9
0
        public static Assembly Resolve(ISearchPath searchPath, string name)
        {
            foreach (string path in searchPath.Paths)
            {
                string   assemblyPath = Path.Combine(path, name);
                Assembly assembly     = TryLoadAssembly(assemblyPath);
                if (null != assembly)
                {
                    return(assembly);
                }
            }

            return(null);
        }
示例#10
0
		public PathContainer(ISearchPath searchPath)
		{
			_searchPath = searchPath;
		}
示例#11
0
        public bool LoadAppDomain(ISearchPath searchPath)
        {

            try
            {

                AppDomainSetup setup = new AppDomainSetup();
#if DEBUG
                 setup.ApplicationBase = @"E:\db4object\db4o\Trunk\omn\OMADDIN\bin\";
#else 
                setup.ApplicationBase = CommonForAppDomain.GetPath() + "\\";
#endif             
                setup.ShadowCopyDirectories = Path.GetTempPath();
                setup.ShadowCopyFiles = "true";
                workerAppDomain = AppDomain.CreateDomain("WorkerAppDomain", null, setup);
                AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;

                object anObject = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                         "OMAddinDataTransferLayer.AssemblyInfo.AssemblyInspector");

                IAssemblyInspector assemblyInspector = anObject as IAssemblyInspector;
                AssemblyInspectorObject.AssemblyInspector = assemblyInspector;
              
                if (searchPath.Paths.Any())
                {
                   
                    if (!assemblyInspector.LoadAssembly(searchPath))
                    {
                        AppDomain.Unload(workerAppDomain);
                        workerAppDomain = null;
                        AssemblyInspectorObject.ClearAll();
                        return false;

                    }
                }

                object anObject1 = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                       "OMAddinDataTransferLayer.Connection.Connection");
                IConnection conn = anObject1 as IConnection;
                AssemblyInspectorObject.Connection = conn;

                object anObject2 = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                       "OMAddinDataTransferLayer.DataPopulation.PopulateData");
                IPopulateData populate = anObject2 as IPopulateData;
                AssemblyInspectorObject.DataPopulation = populate;

                object anObject3 = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                       "OMAddinDataTransferLayer.TypeMauplation.DataType");
                IDataType dataType = anObject3 as IDataType;
                AssemblyInspectorObject.DataType = dataType;

                object anObject4 = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                       "OMAddinDataTransferLayer.DataEditing.SaveData");
                ISaveData saveData = anObject4 as ISaveData;
                AssemblyInspectorObject.DataSave = saveData;

                object anObject5 = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                       "OMAddinDataTransferLayer.DataBaseDetails.ObjectProperties");
                IObjectProperties objectProp = anObject5 as IObjectProperties;
                AssemblyInspectorObject.ObjectProperties = objectProp;

                object anObject6 = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                       "OMAddinDataTransferLayer.DataBaseDetails.ClassProperties");
                IClassProperties classProp = anObject6 as IClassProperties;
                AssemblyInspectorObject.ClassProperties = classProp;
                AppDomain.CurrentDomain.AssemblyResolve -= CurrentDomain_AssemblyResolve;
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
        public bool LoadAppDomain(ISearchPath searchPath)
        {
            try
            {
                AppDomainSetup setup = new AppDomainSetup();
#if DEBUG
                setup.ApplicationBase = @"E:\db4object\db4o\Trunk\omn\OMADDIN\bin\";
#else
                setup.ApplicationBase = CommonForAppDomain.GetPath() + "\\";
#endif
                setup.ShadowCopyDirectories              = Path.GetTempPath();
                setup.ShadowCopyFiles                    = "true";
                workerAppDomain                          = AppDomain.CreateDomain("WorkerAppDomain", null, setup);
                AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;

                object anObject = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                      "OMAddinDataTransferLayer.AssemblyInfo.AssemblyInspector");

                IAssemblyInspector assemblyInspector = anObject as IAssemblyInspector;
                AssemblyInspectorObject.AssemblyInspector = assemblyInspector;

                if (searchPath.Paths.Any())
                {
                    if (!assemblyInspector.LoadAssembly(searchPath))
                    {
                        AppDomain.Unload(workerAppDomain);
                        workerAppDomain = null;
                        AssemblyInspectorObject.ClearAll();
                        return(false);
                    }
                }

                object anObject1 = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                       "OMAddinDataTransferLayer.Connection.Connection");
                IConnection conn = anObject1 as IConnection;
                AssemblyInspectorObject.Connection = conn;

                object anObject2 = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                       "OMAddinDataTransferLayer.DataPopulation.PopulateData");
                IPopulateData populate = anObject2 as IPopulateData;
                AssemblyInspectorObject.DataPopulation = populate;

                object anObject3 = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                       "OMAddinDataTransferLayer.TypeMauplation.DataType");
                IDataType dataType = anObject3 as IDataType;
                AssemblyInspectorObject.DataType = dataType;

                object anObject4 = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                       "OMAddinDataTransferLayer.DataEditing.SaveData");
                ISaveData saveData = anObject4 as ISaveData;
                AssemblyInspectorObject.DataSave = saveData;

                object anObject5 = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                       "OMAddinDataTransferLayer.DataBaseDetails.ObjectProperties");
                IObjectProperties objectProp = anObject5 as IObjectProperties;
                AssemblyInspectorObject.ObjectProperties = objectProp;

                object anObject6 = CreateGlobalObjects("OMAddinDataTransferLayer",
                                                       "OMAddinDataTransferLayer.DataBaseDetails.ClassProperties");
                IClassProperties classProp = anObject6 as IClassProperties;
                AssemblyInspectorObject.ClassProperties  = classProp;
                AppDomain.CurrentDomain.AssemblyResolve -= CurrentDomain_AssemblyResolve;
            }
            catch (Exception)
            {
                return(false);
            }
            return(true);
        }
示例#13
0
 public PathContainer(ISearchPath searchPath)
 {
     _searchPath = searchPath;
 }