public byte[] Create(string templateZipFileName, string projectName) { var temporaryZipFilePath = CreateTemporaryZippedTemplate(templateZipFileName); var temporaryRenamingFolder = Path.Combine(_downloadFolder, Path.GetFileNameWithoutExtension(temporaryZipFilePath)); using (var zipFile = ZipFile.Read(temporaryZipFilePath)) { zipFile.ExtractAll(temporaryRenamingFolder); } File.Delete(temporaryZipFilePath); var renamer = new SolutionRenamer(temporaryRenamingFolder, templateZipFileName, projectName); renamer.Rename(); using (var zipFile = new ZipFile()) { zipFile.AddDirectory(Path.Combine(temporaryRenamingFolder, projectName)); zipFile.Save(Path.Combine(_downloadFolder, Path.GetFileNameWithoutExtension(temporaryZipFilePath) + ".zip")); } Directory.Delete(temporaryRenamingFolder, true); var bytes = File.ReadAllBytes(temporaryZipFilePath); File.Delete(temporaryZipFilePath); return bytes; }