2009-04-22 18 views
15

En este question veo que Microsoft envía los archivos de documentación XML para el BCL. Me pregunto si alguien sabe si hay una API dentro de .NET que pueda usarse para buscar esto en tiempo de ejecución. Sé que podemos analizar los archivos manualmente usando la API XML.¿Hay una API en .net para leer el archivo de documentación de comentario XML

El caso de uso es que permitimos que los tipos/ensamblados personalizados (leer de terceros) se utilicen en nuestro sistema, y ​​al seleccionarlos en la interfaz de usuario, nos gustaría extraer la documentación especificada por el tipo personalizado/creador de ensamblaje o, si no está disponible, proporcionar otros valores predeterminados.

+0

yo sugeriría que echar un vistazo a [NDoc] (http://ndoc.sourceforge.net/) – Vikram

+0

Gracias he hecho. No hace lo que estoy buscando. –

+0

¿qué usaste o cómo lo hiciste? – Vikram

Respuesta

6

Mantengo el proyecto Jolt.NET en CodePlex y he implementado una función que realiza esta misma tarea. Consulte la biblioteca Jolt para obtener más información.

En esencia, la biblioteca le permite localizar y consultar un archivo de comentarios de documentación XML para un montaje utilizando los tipos de metadatos en System.Reflection mediante programación (es decir MethodInfo, PropertyInfo, etc ...).

+0

Haré. Muchas gracias –

4

Microsoft's Sandcastle es una herramienta para extraer documentación de conjuntos con o sin la ayuda de los archivos de comentarios XML. Ha sido lanzado como fuente abierta. Puedes probar echarle un vistazo al código de esa herramienta.

+0

Hmmm ... mi experiencia de Sandcastle fue que usaba un procesamiento y reflexión XSL. Lo revisaré de nuevo. –

+0

Parece que refleja el espacio de nombres y la jerarquía de tipos, no los comentarios. Así que la pregunta sigue abierta –

2

Pensemos sobre esto.

Los comentarios XML nunca forman parte de la unidad de ensamblaje. Entonces, la asamblea de terceros de la que está hablando no tendrá ninguna información de la que pueda extraer comentarios.

Ahora, si esos ensamblados pueden generar archivos XML que contienen esta documentación, probablemente usando SandCastle o nDoc, entonces puede leer esos archivos XML como lo desea hacer.

A continuación, la pregunta es - suponiendo que tiene estos archivos doc XML, cómo analizar y lectura

  • yo sugeriría utilizar Linq to XML de manera rápida y fácil de cargar esta documentación. Esto es mejor en muchas formas que el procesamiento XSLT que hace SandCastle. El uso de LINQ to XML para hacer esto no debería tomar tanto tiempo, siempre y cuando usted entienda el esquema XML/jerarquía del archivo de documento XML

hágamelo saber cómo va o si tiene alguna pregunta

+0

Gracias por su respuesta. Ya estamos analizando los archivos XML actualmente (usando Linq2Xml como sucede). Lo que estaba tratando de determinar es si existe un conjunto de funcionalidades reutilizables específicas con .NET (o su hijo feo VS.net) que realizaría el procesamiento para nosotros de una manera superior a nuestro procesamiento de los archivos de comentarios. –

Cuestiones relacionadas