所有<see cref =“MyClass”/>都缺失

在我的源代码文档中,我经常使用:

Get a <see cref="Quote"/> for the specified <see cref="apiOrder"/> object.

这可以很好地转换成XmlDocument.xml中的下面的字符串,它包含已编译的web API帮助页面。

Get a <see cref="T:Supertext.API.POCO.Quote"/> for the specified <see cref="!:apiOrder"/> object.

但由于某些原因,所有这些引用都没有显示。 我们得到的是这样的:

Get a  for the specified  object

我们发现了几个来源,但似乎没有任何工作。 没有帮助:
Web Api帮助页面 - 不会在xml文档中转义html

已过期:
http://thesoftwaredudeblog.wordpress.com/2014/01/04/using-microsoft-asp-net-web-api-2-help-page-part-2/

有任何想法吗?


在WebAPI 2帮助中,有一个名为XmlDocumentationProvider的类。 在这个类中有一个名为GetTagValue的方法,它处理Summary和Return标签。 还有一个名为GetDocumentation的方法(有多个,但它是具有HttpParameterDescriptor参数的方法)处理Param标记。

我编写了一个使用RegEx查找所有“查看Cref”的函数,并将其替换为找到的最后一个对象名称。

RegEx:

private static Regex SeeCodeReferenceRegEx = new Regex("<see cref="w:([w]+.)*(w+)" */>", RegexOptions.Compiled);

功能:

private static string CleanValue(string value)
{
    value = value.Trim();
    var matches = SeeCodeReferenceRegEx.Matches(value);
    foreach (Match match in matches)
        value = value.Replace(match.Groups[0].Value, match.Groups[2].Value);
    return value;
}

GetTagValue ,替换:

return node.Value.Trim();

有:

return CleanValue(node.InnerXml);

GetDocumentation替换:

return parameterNode.Value.Trim();

有:

return CleanValue(parameterNode.InnerXml);
链接地址: http://www.djcxy.com/p/79879.html

上一篇: all <see cref="MyClass"/> are missing

下一篇: Compiling dynamic content