private System.Reflection.Assembly GetAssemblyFromJarFile(string jarFile, string assemblyName) { IJarFileFactory jarFileFactory = new JarFileFactory(); using (var reader = jarFileFactory.GetJarFileReader(jarFile)) { var jarFileItem = reader.GetNextFile(); WriteLog("Getting :" + assemblyName + Environment.NewLine); while (jarFileItem != null) { if (jarFileItem.Headers.ContainsKey("FileName")) { if (jarFileItem.Headers["FileName"] == assemblyName + ".dll" || jarFileItem.Headers["FileName"] == assemblyName + ".exe") { return(Assembly.Load(jarFileItem.Containt)); } } jarFileItem = reader.GetNextFile(); } WriteLog("Not Found : " + assemblyName + Environment.NewLine); } return(null); }
void GenerateJarFile(string jarFilePath, IEnumerable <string> files) { if (File.Exists(jarFilePath)) { File.Delete(jarFilePath); } if (!Directory.Exists(Path.GetDirectoryName(jarFilePath))) { Directory.CreateDirectory(Path.GetDirectoryName(jarFilePath)); } JarFileFactory jarFactory = new JarFileFactory(); Dictionary <string, string> header = new Dictionary <string, string>(); using (var jarFileWriter = jarFactory.GetJarFileWriter(jarFilePath)) { foreach (var file in files) { header["FileName"] = Path.GetFileName(file); var fvi = FileVersionInfo.GetVersionInfo(file); header["version"] = fvi.FileVersion; jarFileWriter.AddFile(new FileSystem.JarFileItem(header, file)); } } }
static void Main12(string[] args) { var dir = Path.Combine(RuntimeHelper.ExecutionLocation, "Jar"); var jarFilePath = Path.Combine(dir, "Include.jar"); if (File.Exists(jarFilePath)) { File.Delete(jarFilePath); } JarFileFactory jarFactory = new JarFileFactory(); var files = Directory.GetFiles(dir); Dictionary <string, string> header = new Dictionary <string, string>(); using (var jarFileWriter = jarFactory.GetJarFileWriter(jarFilePath)) { foreach (var file in files) { header["FileName"] = Path.GetFileName(file); var fvi = FileVersionInfo.GetVersionInfo(file); header["version"] = fvi.FileVersion; jarFileWriter.AddFile(new FileSystem.JarFileItem(header, file)); } } }
static void Main(string[] args) { var dir = Path.Combine(RuntimeHelper.ExecutionLocation, "Jar"); var jarFilePath = Path.Combine(dir, "Include.jar"); JarFileFactory jarFactory = new JarFileFactory(); var files = Directory.GetFiles(dir); Dictionary <string, string> header = new Dictionary <string, string>(); using (var jarFileReader = jarFactory.GetJarFileReader(jarFilePath)) { foreach (var file in files) { header["FileName"] = Path.GetFileName(file); var fvi = FileVersionInfo.GetVersionInfo(file); header["version"] = fvi.FileVersion; var jarFileItem = jarFileReader.GetNextFile(); } } }