public static XmlDocumentationProvider LoadDocumentation(ModuleDefinition module) { if (module == null) throw new ArgumentNullException("module"); lock (cache) { XmlDocumentationProvider xmlDoc; if (!cache.TryGetValue(module, out xmlDoc)) { string xmlDocFile = LookupLocalizedXmlDoc(module.FullyQualifiedName); if (xmlDocFile == null) { xmlDocFile = FindXmlDocumentation(Path.GetFileName(module.FullyQualifiedName), module.Runtime); } if (xmlDocFile != null) { xmlDoc = new XmlDocumentationProvider(xmlDocFile); cache.Add(module, xmlDoc); } else { xmlDoc = null; } } return xmlDoc; } }
public static XmlDocumentationProvider Get(string assemblyName) { if (_providers.ContainsKey(assemblyName)) return _providers[assemblyName]; var assemblyDllName = assemblyName + ".dll"; //string assemblyFileName = entity.ParentAssembly.AssemblyName + ".dll"; string fileName = XmlDocumentationProvider.LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.0", assemblyDllName)) ?? XmlDocumentationProvider.LookupLocalizedXmlDoc(Path.Combine(frameworkPath, "v4.0.30319", assemblyDllName)); //string fileName = XmlDocumentationProvider.LookupLocalizedXmlDoc(assemblyFileName); if (fileName != null) { var docProvider = new XmlDocumentationProvider(fileName); _providers.TryAdd(assemblyName, docProvider); return docProvider; } return null; }
public static IDocumentationProvider Get(IProject project, string assemblyName) { if (PlatformService.IsUnix) return new MonoDocDocumentationProvider(); if (_providers.ContainsKey(assemblyName)) return _providers[assemblyName]; string fileName = null; IUnresolvedAssembly reference = project.References.OfType<IUnresolvedAssembly>().FirstOrDefault(i => i.AssemblyName.Equals(assemblyName)); if (reference != null) fileName = XmlDocumentationProvider.LookupLocalizedXmlDoc(reference.Location); if (fileName != null) { var docProvider = new XmlDocumentationProvider(fileName); _providers.TryAdd(assemblyName, docProvider); return docProvider; } return null; }