void RegisterSystemAssemblies(string prefix, string version, ClrVersion ver) { SystemPackage package = new SystemPackage(); List <string> list = new List <string>(); string dir = Path.Combine(prefix, version); if (!Directory.Exists(dir)) { return; } foreach (string assembly in Directory.GetFiles(dir, "*.dll")) { AddAssembly(assembly, package); list.Add(assembly); } package.Initialize("mono", version, "The Mono runtime", list.ToArray(), ver, false); packages.Add(package); }
void RegisterSystemAssemblies(string prefix, string version, ClrVersion ver) { SystemPackage package = new SystemPackage(); List<string> list = new List<string>(); string dir = Path.Combine(prefix, version); if (!Directory.Exists(dir)) { return; } foreach (string assembly in Directory.GetFiles(dir, "*.dll")) { AddAssembly(assembly, package); list.Add(assembly); } package.Initialize("mono", version, "The Mono runtime", list.ToArray(), ver, false); packages.Add(package); }
private void ParsePCFile(string pcfile) { // Don't register the package twice string pname = Path.GetFileNameWithoutExtension(pcfile); if (packagesHash.ContainsKey(pname)) return; List<string> fullassemblies = null; string version = ""; string desc = ""; SystemPackage package = new SystemPackage(); using (StreamReader reader = new StreamReader(pcfile)) { string line; while ((line = reader.ReadLine()) != null) { string lowerLine = line.ToLower(); if (lowerLine.StartsWith("libs:") && lowerLine.IndexOf(".dll") != -1) { string choppedLine = line.Substring(5).Trim(); if (choppedLine.IndexOf("-lib:") != -1 || choppedLine.IndexOf("/lib:") != -1) { fullassemblies = GetAssembliesWithLibInfo(choppedLine, pcfile); } else { fullassemblies = GetAssembliesWithoutLibInfo(choppedLine, pcfile); } } else if (lowerLine.StartsWith("version:")) { // "version:".Length == 8 version = line.Substring(8).Trim(); } else if (lowerLine.StartsWith("description:")) { // "description:".Length == 12 desc = line.Substring(12).Trim(); } } } if (fullassemblies == null) return; foreach (string assembly in fullassemblies) { AddAssembly(assembly, package); } package.Initialize(pname, version, desc, fullassemblies.ToArray(), ClrVersion.Default, false); packages.Add(package); packagesHash[pname] = package; }
private void ParsePCFile(string pcfile) { // Don't register the package twice string pname = Path.GetFileNameWithoutExtension(pcfile); if (packagesHash.ContainsKey(pname)) { return; } List <string> fullassemblies = null; string version = ""; string desc = ""; SystemPackage package = new SystemPackage(); using (StreamReader reader = new StreamReader(pcfile)) { string line; while ((line = reader.ReadLine()) != null) { string lowerLine = line.ToLower(); if (lowerLine.StartsWith("libs:") && lowerLine.IndexOf(".dll") != -1) { string choppedLine = line.Substring(5).Trim(); if (choppedLine.IndexOf("-lib:") != -1 || choppedLine.IndexOf("/lib:") != -1) { fullassemblies = GetAssembliesWithLibInfo(choppedLine, pcfile); } else { fullassemblies = GetAssembliesWithoutLibInfo(choppedLine, pcfile); } } else if (lowerLine.StartsWith("version:")) { // "version:".Length == 8 version = line.Substring(8).Trim(); } else if (lowerLine.StartsWith("description:")) { // "description:".Length == 12 desc = line.Substring(12).Trim(); } } } if (fullassemblies == null) { return; } foreach (string assembly in fullassemblies) { AddAssembly(assembly, package); } package.Initialize(pname, version, desc, fullassemblies.ToArray(), ClrVersion.Default, false); packages.Add(package); packagesHash[pname] = package; }