/// <summary> /// Carga los archivos de proyecto (en Net Framework, los archivos de proyecto están bajo el nodo ItemGroup) /// </summary> private FileVisualStudioModelCollection LoadFilesProject(string projectFileName) { MLFile fileML = new LibMarkupLanguage.Services.XML.XMLParser().Load(projectFileName); FileVisualStudioModelCollection files = new FileVisualStudioModelCollection(); // Carga los datos foreach (MLNode rootML in fileML.Nodes) { if (rootML.Name == "Project") { foreach (MLNode nodeML in rootML.Nodes) { if (nodeML.Name == "ItemGroup") { foreach (MLNode childML in nodeML.Nodes) { if (childML.Name == "Compile") { string fileName = childML.Attributes["Include"].Value; if (!fileName.IsEmpty()) { FileVisualStudioModel file = new FileVisualStudioModel(); // Asigna el archivo file.FileName = fileName; file.FullFileName = Path.Combine(Path.GetDirectoryName(FullFileNameSource), fileName); // Añade el archivo a la colección files.Add(file); } } } } } } } // Devuelve la colección de archivos return(files); }
/// <summary> /// Carga los archivos de un directorio y sus subdirectorios correspondientes a la máscara /// </summary> private FileVisualStudioModelCollection LoadFilesPath(string path, string extension) { System.Collections.Generic.List <string> sourceFiles = LibCommonHelper.Files.HelperFiles.ListRecursive(path); FileVisualStudioModelCollection files = new FileVisualStudioModelCollection(); // Recorre los archivos de los directorios creando los archivos a interpretar foreach (string sourceFile in sourceFiles) { if (!string.IsNullOrEmpty(sourceFile) && sourceFile.EndsWith(extension, StringComparison.CurrentCultureIgnoreCase)) { FileVisualStudioModel file = new FileVisualStudioModel(); // Asigna el archivo file.FileName = Path.GetFileName(sourceFile); file.FullFileName = Path.Combine(path, sourceFile); // Añade el archivo a la colección files.Add(file); } } // Devuelve la colección de archivos return(files); }