protected internal CompilerResults Compile(string assemblyNameToCreate, string writeSourceTo) { HashSet <string> references = new HashSet <string>(DaoGenerator.DefaultReferenceAssemblies.ToArray()) { typeof(JsonIgnoreAttribute).Assembly.GetFileInfo().FullName }; _additionalReferenceAssemblies.Each(asm => { FileInfo assemblyInfo = asm.GetFileInfo(); if (references.Contains(assemblyInfo.Name)) { references.Remove(assemblyInfo.Name); // removes System.Core.dll if it is later referenced by full path } references.Add(assemblyInfo.FullName); }); SchemaDefinitionCreateResult.TypeSchema.Tables.Each(type => { references.Add(type.Assembly.GetFileInfo().FullName); CustomAttributeTypeDescriptor attrTypes = new CustomAttributeTypeDescriptor(type); attrTypes.AttributeTypes.Each(attrType => references.Add(attrType.Assembly.GetFileInfo().FullName)); }); references.Add(typeof(DaoRepository).Assembly.GetFileInfo().FullName); CompilerResults results = _daoGenerator.Compile(new DirectoryInfo(writeSourceTo), assemblyNameToCreate, references.ToArray(), false); return(results); }
private static void Compile(DirectoryInfo[] dirs, FileInfo file) { DaoGenerator generator = new DaoGenerator(GetNamespace()); CompilerResults results = generator.Compile(dirs, file.FullName); OutputCompilerErrors(results); }
protected internal CompilerResults Compile(string assemblyNameToCreate, string writeSourceTo) { HashSet <string> references = new HashSet <string>(DaoGenerator.DefaultReferenceAssemblies.ToArray()); references.Add(typeof(JsonIgnoreAttribute).Assembly.GetFileInfo().FullName); _additonalReferenceAssemblies.Each(asm => { references.Add(asm.GetFilePath()); }); SchemaDefinitionCreateResult.TypeSchema.Tables.Each(type => references.Add(type.Assembly.GetFileInfo().FullName)); references.Add(typeof(DaoRepository).Assembly.GetFileInfo().FullName); CompilerResults results = _daoGenerator.Compile(new DirectoryInfo(writeSourceTo), assemblyNameToCreate, references.ToArray(), false); return(results); }