Esempio n. 1
0
 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;
        }