public void ShouldBeAbleToLoadAssemblyByFileName()
        {
            var assemblyLoader = _assemblyLoaderFactory.GetAssemblyLoader(GetType().Assembly.Location);

            Assert.IsInstanceOf(typeof(AssemblyLoaderFromFile), assemblyLoader);
            Assert.AreEqual(GetType().Assembly, assemblyLoader.Load());
        }
Exemplo n.º 2
0
        protected virtual void Initialize()
        {
            List <Assembly> assemblies = new List <Assembly>();

#if COREFX
            if (RunnerContext.TargetAssemblies != null)
            {
                assemblies.AddRange(RunnerContext.TargetAssemblies);
            }

            foreach (var target in RunnerContext.Targets ?? new string[0])
#else
            foreach (var target in RunnerContext.Targets)
#endif
            {
                var assembly = AssemblyLoaderFactory.GetAssemblyLoader(target).Load();

                if (!assemblies.Contains(assembly))
                {
                    assemblies.Add(assembly);
                }
            }

            var assemblyCollection = new AssemblyCollection(assemblies);

            var processor = RunnerContext.NoConnection? InitializeConnectionlessProcessor():
#if COREFX
                            InitializeProcessor(assemblyCollection, ConnectionString);
#else
                            InitializeProcessor(assemblyCollection);
#endif

            Runner = new MigrationRunner(assemblyCollection, RunnerContext, processor);
        }
Exemplo n.º 3
0
        protected virtual void Initialize()
        {
            var assembly = AssemblyLoaderFactory.GetAssemblyLoader(RunnerContext.Target).Load();

            var processor = InitializeProcessor(assembly.Location);

            Runner = new MigrationRunner(assembly, RunnerContext, processor);
        }
Exemplo n.º 4
0
        protected virtual IEnumerable <Assembly> GetTargetAssemblies()
        {
            var assemblies = new HashSet <Assembly>();

            foreach (var target in RunnerContext.Targets)
            {
                var assembly = AssemblyLoaderFactory.GetAssemblyLoader(target).Load();

                if (assemblies.Add(assembly))
                {
                    yield return(assembly);
                }
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Get all assemblies for the given assembly names
        /// </summary>
        /// <param name="loaderFactory">The factory to create an <see cref="IAssemblyLoader"/> for a given assembly (file) name</param>
        /// <param name="assemblyNames">The assembly (file) names</param>
        /// <returns>The collection of assemblies that could be loaded</returns>
        public static IEnumerable <Assembly> GetTargetAssemblies(
            this AssemblyLoaderFactory loaderFactory,
            IEnumerable <string> assemblyNames)
        {
            var assemblies = new HashSet <Assembly>();

            foreach (var target in assemblyNames)
            {
                var assembly = loaderFactory.GetAssemblyLoader(target).Load();
                if (assemblies.Add(assembly))
                {
                    yield return(assembly);
                }
            }
        }
        public void TestLoaders()
        {
            string          filename               = GetType().Assembly.Location;
            string          assemblyName           = GetType().Assembly.GetName().Name;
            IAssemblyLoader assemblyLoaderFromFile = AssemblyLoaderFactory.GetAssemblyLoader(filename);

            Assert.IsInstanceOfType(typeof(AssemblyLoaderFromFile), assemblyLoaderFromFile);
            Assembly assemblyFromFile = assemblyLoaderFromFile.Load();

            IAssemblyLoader assemblyLoaderFromName = AssemblyLoaderFactory.GetAssemblyLoader(assemblyName);

            Assert.IsInstanceOfType(typeof(AssemblyLoaderFromName), assemblyLoaderFromName);
            Assembly assemblyFromName = assemblyLoaderFromName.Load();

            Assert.AreEqual(assemblyFromFile.FullName, assemblyFromName.FullName);
        }
Exemplo n.º 7
0
        protected virtual void Initialize()
        {
            List <Assembly> assemblies = new List <Assembly>();

            foreach (var target in RunnerContext.Targets)
            {
                var assembly = AssemblyLoaderFactory.GetAssemblyLoader(target).Load();

                if (!assemblies.Contains(assembly))
                {
                    assemblies.Add(assembly);
                }
            }

            var assemblyCollection = new AssemblyCollection(assemblies);

            var processor = RunnerContext.NoConnection? InitializeConnectionlessProcessor():InitializeProcessor(assemblyCollection);

            Runner = new MigrationRunner(assemblyCollection, RunnerContext, processor);
        }