private static void Main(string[] args) { Console.WriteLine("开始......"); string ProjectPath = ConfigurationManager.AppSettings.Get("ProjectPath"); Project Pj; List <Conmgr> Conmgrs; List <Package> Packages; Dictionary <int, EzOleDbConnectionManager> CMS; using (AutossisEntities db = new AutossisEntities()) { Pj = db.Project.Where(p => p.ProjectName == projectName).First(); Conmgrs = db.Conmgr.Where(p => p.ProjectId == Pj.ProjectId).ToList(); Packages = db.Package.Where(p => p.ProjectId == Pj.ProjectId).ToList(); CMS = getOledbConnectionManagers(Conmgrs); } ConventionBuilder conventions = new ConventionBuilder(); conventions .ForTypesDerivedFrom <ICreatePackage>() .Export <ICreatePackage>() .Shared(); Assembly[] assemblies = new[] { typeof(Program).GetTypeInfo().Assembly }; ContainerConfiguration configuration = new ContainerConfiguration() .WithAssemblies(assemblies, conventions); ICreatePackage Cp; using (CompositionHost container = configuration.CreateContainer()) { Cp = container.GetExport <ICreatePackage>(ConfigurationManager.AppSettings.Get("ProjectType")); Cp.ezOleDbConnectionManagers = CMS; } foreach (Package package in Packages) { ez.AddPackage(Cp.Create(package)); Console.WriteLine(package.PackageName + " 生成成功。"); } JobControl(Pj, null); ez.SaveTo(ProjectPath + Pj.ProjectName + ".ispac"); Console.WriteLine("全部成功!"); Console.ReadKey(); }