Pergunta

Suponha que no Visual Studio eu tenha um novo projeto que contenha algumas das mesmas APIs de um projeto mais antigo, e gostaria de copiar a documentação XML para a nova. Existe uma maneira de fazer isso sem copiá-los manualmente um por um?

Foi útil?

Solução

Eu mantenho um projeto de código aberto que implementa um recurso que suporta acesso programático aos comentários do documento XML. Ver Jolt.net Para mais informações sobre o projeto, e especificamente, "Consultando comentários do Doc XML"Para a documentação para esse recurso.

Aqui está um exemplo de como usar a biblioteca para implementar o que você está procurando.

using Jolt;
using System.Xml.Linq;

void CopyXmlDocComments(Assembly sourceAssembly)
{
    XDocument newDocComments = new XDocument();
    XmlDocCommentReader reader = new XmlDocCommentReader(sourceAssembly);

    foreach(Type t in sourceAssembly.GetTypes())  // implement type filter here
    {
        newDocComments.Add(reader.GetComments(t));
    }

    newDocComments.Save("newAssemblyName.dll.xml");
}

Neste exemplo, estou assumindo que você deseja copiar os comentários do documento dos tipos semelhantes em dois assemblies. Se você precisar restringir a cópia mais a membros específicos, também poderá realizar isso com a biblioteca, embora você precise implementar a lógica de filtragem de métodos.

Outras dicas

Eu não ouvi falar dessa ferramenta. A única coisa que sei que é remotamente semelhante é a capacidade do Resharper de copiar comentários XMLDoc das classes base para as classes derivadas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top