一种将 xml 注释从一组 API 复制到另一组类似 API 的方法?
-
26-09-2019 - |
题
假设在 Visual Studio 中我有一个新项目,其中包含一些与旧项目相同的 API,并且我想将 xml 文档复制到新项目中。有没有一种方法可以做到这一点,而无需手动将它们一一复制粘贴?
解决方案
我维护一个开源项目,该项目实现了支持以编程方式访问 XML 文档注释的功能。看 震动网 有关该项目的更多信息,特别是“查询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");
}
在此示例中,我假设您想要复制两个程序集中相似类型的文档注释。如果您需要将复制进一步限制为特定成员,您也可以使用库来完成此操作,但您需要自己实现方法过滤逻辑。
其他提示
我没有听到任何这样的工具。我知道这是远程类似的唯一事情是ReSharper的从基类xmlDoc中注释复制到派生类的能力。
不隶属于 StackOverflow