缺少明确实现的接口的摘要标签?

时间:2011-09-14 18:40:35

标签: c# .net sandcastle xml-documentation

基本上,我有以下代码:

public class MyDictionary<TKey, TValue> : IDictionary<TKey, TValue>
{
    /// <summary> My Summary </summary>
    void MyDictionary<TKey, TValue>.ICollection<KeyValuePair<TKey, TValue>> { ... }
}

MyProject.XML

<member name="M:MyProject.MyDictionary`2.System#Collection#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Clear">
 <summary>
  My Summary
 </summary>
</member>

Sandcastle的内置输出:

  
    

警告:ShowMissingComponent:缺少M:MyProject.MyDictionary`2.System#Collections的文档#Generic#ICollection {T} #Clear

  

所以,不知道该怎么做。我确实让我的Sandcastle构建选项包括显式实现,这就是它在文档中为它们创建页面的原因,但它似乎无法弄清楚我做了为此方法创建XML注释。奇怪的是,void MyDictionary<TKey, TValue>.IDictionary<TKey, TValue>.Add(TKek key, TValue value)方法被识别为具有XML注释。实际上,所有隐式实现的ICollection&gt;方法给Sandcastle一个问题。有什么帮助吗?

4 个答案:

答案 0 :(得分:4)

确保您的项目正在构建xml文档文件。项目属性中有一个用于构建xml文件的复选框。

enter image description here

答案 1 :(得分:4)

我确信你已经尝试了一切,我知道你想知道怎么做,但我认为这是不可能的。这是Sandcastle的错误,它还没有固定.. :(

http://sandcastle.codeplex.com/workitem/5594

答案 2 :(得分:0)

为了确保,你试过这个吗?:

/// <summary>
/// My Summary 
/// </summary>

是的,我知道这意味着同样的事情,但它可能是一个解析问题。

答案 3 :(得分:0)

这可能是缓存引起的问题。 Sandcastle中有一些更改要求使用新版本删除旧的缓存文件。如果尚未删除,则可能导致问题。您可以找到查找缓存文件的位置,并在“重大更改”部分的release notes中删除它们。