public AssemblyPackageContainer GetAssemblyPackages(IEnumerable <AssemblyPart> assemblyParts) { var sourceParts = assemblyParts.ToList(); var assemblies = new List <AssemblyPart>(); foreach (var i in AssemblyResolverManager.AppDomain.GetAssemblies()) { for (var j = 0; j < sourceParts.Count; j++) { if (string.Compare(sourceParts[j].Source, string.Concat(i.GetName().Name, ".dll"), true) == 0) { sourceParts[j].Assembly = i; assemblies.Add(sourceParts[j]); sourceParts.RemoveAt(j--); } } } var pkg = new AssemblyPackage(assemblies) { Uid = Guid.NewGuid() }; _packages.Add(pkg.Uid, pkg); return(new AssemblyPackageContainer(pkg)); }
/// <summary> /// Recupera o pacote do assembly. /// </summary> /// <param name="assemblyPackageUid"></param> /// <returns></returns> public IAssemblyPackage GetAssemblyPackage(Guid assemblyPackageUid) { AssemblyPackage pkg = null; if (_packages.TryGetValue(assemblyPackageUid, out pkg)) { return(pkg); } return(null); }