using System; using System.IO; using System.Reflection; namespace ElectronNET.CLI { public static class EmbeddedFileHelper { private const string ResourcePath = "ElectronNET.CLI.{0}"; private static Stream GetTestResourceFileStream(string folderAndFileInProjectPath) { var asm = Assembly.GetExecutingAssembly(); var resource = string.Format(ResourcePath, folderAndFileInProjectPath); return asm.GetManifestResourceStream(resource); } public static void DeployEmbeddedFile(string targetPath, string file, string namespacePath = "") { using (var fileStream = File.Create(Path.Combine(targetPath, file))) { var streamFromEmbeddedFile = GetTestResourceFileStream("ElectronHost." + namespacePath + file); if (streamFromEmbeddedFile == null) { Console.WriteLine("Error: Couldn't find embedded file: " + file); } streamFromEmbeddedFile.CopyTo(fileStream); } } public static void DeployEmbeddedFileToTargetFile(string targetPath, string embeddedFile, string targetFile, string namespacePath = "") { using (var fileStream = File.Create(Path.Combine(targetPath, targetFile))) { var streamFromEmbeddedFile = GetTestResourceFileStream("ElectronHost." + namespacePath + embeddedFile); if (streamFromEmbeddedFile == null) { Console.WriteLine("Error: Couldn't find embedded file: " + embeddedFile); } streamFromEmbeddedFile.CopyTo(fileStream); } } } }