Способ скопировать xml-комментарии из набора API в другой подобный набор API? - PullRequest
4 голосов
/ 02 сентября 2010

Предположим, в Visual Studio у меня есть новый проект, который содержит некоторые из тех же API из старого проекта, и я хотел бы скопировать документацию xml в новый.Есть ли способ, которым я могу сделать это без ручного копирования их по одному?

Ответы [ 2 ]

4 голосов
/ 02 сентября 2010

Я поддерживаю проект с открытым исходным кодом, который реализует функцию, поддерживающую программный доступ к комментариям к документам XML.См. Jolt.NET для получения дополнительной информации о проекте и, в частности, " Запрос комментариев к документу XML " для документации по этой функции.

Вот примеркак использовать библиотеку для реализации того, что вы ищете.

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");
}

В этом примере я предполагаю, что вы хотите скопировать комментарии к документам схожих типов в двух сборках.Если вам нужно ограничить копирование дополнительными элементами, вы также можете сделать это с помощью библиотеки, хотя вам нужно будет самостоятельно реализовать логику фильтрации методов.

1 голос
/ 02 сентября 2010

Я не слышал ни о каком таком инструменте. Единственное, что мне известно об удаленном сходстве, - это способность ReSharper копировать комментарии xmldoc из базовых классов в производные.

...