Способ скопировать комментарии XML из набора API на другой аналогичный набор API?
-
26-09-2019 - |
Вопрос
Предположим, в Visual Studio у меня новый проект, который содержит некоторые из тех же API от более старого проекта, и я хотел бы скопировать документацию XML в новую. Есть ли способ, которым я могу сделать это без вручную скопировать их один за другим?
Решение
Я поддерживаю проект с открытым исходным кодом, который реализует функцию, поддерживающий программный доступ к комментарированию документов XML. Видеть Jolt.net.net. Для получения дополнительной информации о проекте и, в частности, "Запрос XML DOC Комментарии«Для документации для этой функции.
Вот пример того, как использовать библиотеку для реализации того, что вы ищете.
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");
}
В этом примере я предполагаю, что вы хотите скопировать комментарии документов аналогичных типов в двух узлах. Если вам нужно ограничить копирование дальше к конкретным членам, вы также можете выполнить это с библиотекой, хотя вам нужно будет реализовать логику фильтрации метода самостоятельно.
Другие советы
Я не слышал о таком инструменте. Единственное, что я знаю, из этого удаленно похожего, это способность Resharper скопировать комментарии XMLDOC от базовых классов на полученные классы.