예제 #1
0
        public void Load(string FileName)
        {
            XmlReaderSettings xrs = new XmlReaderSettings();

            XmlReader reader = XmlTextReader.Create(FileName, xrs);

            reader.ReadToFollowing("Project");
            string vers = reader.GetAttribute("FileVersion");

            if (vers == null || Convert.ToInt32(vers) != ProjectFileVersion)
            {
                throw new TooOldProjectFileVersion();
            }
            name = reader.GetAttribute("Name");
            path = FileName;
            string proj_dir = System.IO.Path.GetDirectoryName(FileName);

            //_project_directory = proj_dir;
            //path = reader.GetAttribute("Path");
            main_file        = System.IO.Path.Combine(proj_dir, reader.GetAttribute("MainFile"));
            output_file_name = reader.GetAttribute("OutputFileName");
            output_directory = System.IO.Path.Combine(proj_dir, reader.GetAttribute("OutputDirectory"));
            string s = reader.GetAttribute("ProjectType");

            project_type           = (ProjectType)ProjectType.Parse(typeof(ProjectType), s);
            include_debug_info     = Convert.ToBoolean(reader.GetAttribute("IncludeDebugInfo"));
            generate_xml_doc       = Convert.ToBoolean(reader.GetAttribute("GenerateXMLDoc"));
            command_line_arguments = reader.GetAttribute("CommandLineArguments");
            if (!string.IsNullOrEmpty(reader.GetAttribute("AppIcon")))
            {
                app_icon = System.IO.Path.Combine(proj_dir, reader.GetAttribute("AppIcon"));
            }
            delete_exe       = Convert.ToBoolean(reader.GetAttribute("DeleteEXE"));
            delete_pdb       = Convert.ToBoolean(reader.GetAttribute("DeletePDB"));
            product          = reader.GetAttribute("Product");
            company          = reader.GetAttribute("Company");
            trademark        = reader.GetAttribute("Trademark");
            copyright        = reader.GetAttribute("Copyright");
            major_version    = Convert.ToInt32(reader.GetAttribute("MajorVersion"));
            minor_version    = Convert.ToInt32(reader.GetAttribute("MinorVersion"));
            build_version    = Convert.ToInt32(reader.GetAttribute("BuildVersion"));
            revision_version = Convert.ToInt32(reader.GetAttribute("RevisionVersion"));
            reader.ReadToDescendant("Items");
            reader.ReadToDescendant("Item");
            string type = reader.GetAttribute("Type");

            if (type == "SourceFile")
            {
                SourceCodeFileInfo src = new SourceCodeFileInfo();
                src.name = reader.GetAttribute("Name");
                src.path = System.IO.Path.Combine(proj_dir, reader.GetAttribute("Path"));
                source_files.Add(src);
            }
            else if (type == "Reference")
            {
                ReferenceInfo ref_info = new ReferenceInfo();
                ref_info.assembly_name      = reader.GetAttribute("AssemblyName");
                ref_info.full_assembly_name = reader.GetAttribute("FullAssemblyName");
                references.Add(ref_info);
            }
            else if (type == "Resource")
            {
                ResourceInfo res_info = new ResourceInfo();
                res_info.name = reader.GetAttribute("Name");
                resources.Add(res_info);
            }
            while (reader.ReadToNextSibling("Item"))
            {
                type = reader.GetAttribute("Type");
                if (type == "SourceFile")
                {
                    SourceCodeFileInfo src = new SourceCodeFileInfo();
                    src.name = reader.GetAttribute("Name");
                    src.path = System.IO.Path.Combine(proj_dir, reader.GetAttribute("Path"));
                    source_files.Add(src);
                }
                else if (type == "Reference")
                {
                    ReferenceInfo ref_info = new ReferenceInfo();
                    ref_info.assembly_name      = reader.GetAttribute("AssemblyName");
                    ref_info.full_assembly_name = reader.GetAttribute("FullAssemblyName");
                    references.Add(ref_info);
                }
                else if (type == "Resource")
                {
                    ResourceInfo res_info = new ResourceInfo();
                    res_info.name = reader.GetAttribute("Name");
                    resources.Add(res_info);
                }
            }
            reader.ReadEndElement();
            reader.ReadEndElement();
            reader.Close();
        }
예제 #2
0
		public void Load(string FileName)
		{
			XmlReaderSettings xrs = new XmlReaderSettings();
		    
			XmlReader reader = XmlTextReader.Create(FileName,xrs);
        	reader.ReadToFollowing("Project");
            string vers = reader.GetAttribute("FileVersion");
            if (vers == null || Convert.ToInt32(vers) != ProjectFileVersion)
                throw new TooOldProjectFileVersion();
        	name = reader.GetAttribute("Name");
            path = FileName;
            string proj_dir = System.IO.Path.GetDirectoryName(FileName);
            //_project_directory = proj_dir;
            //path = reader.GetAttribute("Path");
        	main_file = System.IO.Path.Combine(proj_dir, reader.GetAttribute("MainFile"));
        	output_file_name = reader.GetAttribute("OutputFileName");
        	output_directory = System.IO.Path.Combine(proj_dir, reader.GetAttribute("OutputDirectory"));
        	string s = reader.GetAttribute("ProjectType");
        	project_type = (ProjectType)ProjectType.Parse(typeof(ProjectType),s);
        	include_debug_info = Convert.ToBoolean(reader.GetAttribute("IncludeDebugInfo"));
        	generate_xml_doc = Convert.ToBoolean(reader.GetAttribute("GenerateXMLDoc"));
            command_line_arguments = reader.GetAttribute("CommandLineArguments");
            if (!string.IsNullOrEmpty(reader.GetAttribute("AppIcon")))
                app_icon = System.IO.Path.Combine(proj_dir, reader.GetAttribute("AppIcon"));
            delete_exe = Convert.ToBoolean(reader.GetAttribute("DeleteEXE"));
            delete_pdb = Convert.ToBoolean(reader.GetAttribute("DeletePDB"));
            product = reader.GetAttribute("Product");
            company = reader.GetAttribute("Company");
            trademark = reader.GetAttribute("Trademark");
            copyright = reader.GetAttribute("Copyright");
            major_version = Convert.ToInt32(reader.GetAttribute("MajorVersion"));
            minor_version = Convert.ToInt32(reader.GetAttribute("MinorVersion"));
            build_version = Convert.ToInt32(reader.GetAttribute("BuildVersion"));
            revision_version = Convert.ToInt32(reader.GetAttribute("RevisionVersion"));
            reader.ReadToDescendant("Items");
        	reader.ReadToDescendant("Item");
        	string type = reader.GetAttribute("Type");
        	if (type == "SourceFile")
        	{
        		SourceCodeFileInfo src = new SourceCodeFileInfo();
        		src.name = reader.GetAttribute("Name");
        		src.path = System.IO.Path.Combine(proj_dir, reader.GetAttribute("Path"));
        		source_files.Add(src);
        	}
        	else if (type == "Reference")
        	{
        		ReferenceInfo ref_info = new ReferenceInfo();
        		ref_info.assembly_name = reader.GetAttribute("AssemblyName");
        		ref_info.full_assembly_name = reader.GetAttribute("FullAssemblyName");
        		references.Add(ref_info);
        	}
        	else if (type == "Resource")
        	{
        		ResourceInfo res_info = new ResourceInfo();
        		res_info.name = reader.GetAttribute("Name");
        		resources.Add(res_info);
        	}
        	while (reader.ReadToNextSibling("Item"))
			{
        		type = reader.GetAttribute("Type");
        		if (type == "SourceFile")
        		{
        			SourceCodeFileInfo src = new SourceCodeFileInfo();
        			src.name = reader.GetAttribute("Name");
        			src.path = System.IO.Path.Combine(proj_dir, reader.GetAttribute("Path"));
        			source_files.Add(src);
        		}
        		else if (type == "Reference")
        		{
        			ReferenceInfo ref_info = new ReferenceInfo();
        			ref_info.assembly_name = reader.GetAttribute("AssemblyName");
        			ref_info.full_assembly_name = reader.GetAttribute("FullAssemblyName");
        			references.Add(ref_info);
        		}
        		else if (type == "Resource")
        		{
        			ResourceInfo res_info = new ResourceInfo();
        			res_info.name = reader.GetAttribute("Name");
        			resources.Add(res_info);
        		}
        	}
        	reader.ReadEndElement();
        	reader.ReadEndElement();
        	reader.Close();
		}