public CompilerResults CompileAssemblyFromFileBatch(CompilerParameters options, string[] fileNames)
{
string tempFile;
ArrayList classlessFiles = new ArrayList();
ArrayList files = new ArrayList();
int count = 0;
CCSharpParser ccs;
foreach (string file in fileNames)
{
ccs = new CCSharpParser(file);
if (!ccs.isClassless)
{
files.Add(file);
}
else
{
tempFile = ccs.ToTempFile(count > 0);
classlessFiles.Add(tempFile);
files.Add(tempFile);
}
count++;
}
CompilerResults retval;
if (version == "" || version == null)
retval = new Microsoft.CSharp.CSharpCodeProvider().CreateCompiler().CompileAssemblyFromFileBatch(options, (string[])files.ToArray(typeof(string)));
else
retval = new Microsoft.CSharp.CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", version } }).CreateCompiler().CompileAssemblyFromFileBatch(options, (string[])files.ToArray(typeof(string)));
if (!retval.Errors.HasErrors)
foreach (string file in classlessFiles)
try
{
File.Delete(file);
}
catch { }
return retval;
}
}