Ejemplo n.º 1
0
        public virtual void AddAssembly(string name)
        {
            // ignore assemblies already added
            if (Assemblies.Any(existing => existing.GetName().Name.Equals(name, StringComparison.Ordinal)))
            {
                return;
            }

            if (name.Contains("*"))
            {
                var assemblies = AppDomain.CurrentDomain.GetAssemblies();
                foreach (var assembly in assemblies)
                {
                    var assemblyName = assembly.GetName().Name;
                    if (WildcardUtility.IsWildcardMatch(assemblyName, name))
                    {
                        AddAssembly(assemblyName);
                    }
                }

                return;
            }

            Assembly a = Assembly.Load(name);

            if (a == null)
            {
                throw new ArgumentException("The assembly name was not valid");
            }

            Assemblies.Add(a);
        }
        public void AddAssembly(string name)
        {
            if (name.Contains("*"))
            {
                var assemblies = AppDomain.CurrentDomain.GetAssemblies();
                foreach (var assembly in assemblies)
                {
                    if (WildcardUtility.IsWildcardMatch(assembly.FullName, name))
                    {
                        AddAssembly(assembly.FullName);
                    }
                }

                return;
            }

            Assembly a = Assembly.Load(name);

            if (a == null)
            {
                throw new ArgumentException("The assembly name was not valid");
            }

            _types = null;
            _assemblies.Add(a);
        }
        /// <summary>
        /// Checks if an item matches a wildcard spec (by name or full path)
        /// </summary>
        protected static bool MatchesWildcardSpec(Item item, string spec)
        {
            if (WildcardUtility.IsWildcardMatch(item.Name, spec))
            {
                return(true);
            }
            if (WildcardUtility.IsWildcardMatch(item.Paths.FullPath, spec))
            {
                return(true);
            }

            return(false);
        }