コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: maheshbailwal2/Projects
        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));
                }
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: maheshbailwal2/Projects
        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));
                }
            }
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: maheshbailwal2/Projects
        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();
                }
            }
        }