簡體   English   中英

C# XML 文檔'<include> '標簽沒有出現在智能感知中?</include>

[英]C# XML documentation '<include>' tag not appearing in intellisense?

我在 Visual Studio 中開發了 C# class 庫,並且我一直在使用 XML 文檔注釋,主要用於與 Intellisense 的集成。 但是,大部分評論變得非常混亂,所以現在我正在努力使用<include>標記和外部 XML 文檔來減少混亂。

我的問題是,當使用<include>標記時,Intellisense 似乎沒有更新信息,沒有顯示我分配給我的某些類和方法的任何<summary><param>標記。

例如,我可以記錄一個 class 'Test',如下所示:

/// <include file="docs.xml" path='extradoc/class[@name="Test"]/*' />
        class Test { string foo = "bar"; }

並有 docs.xml:

<?xml version="1.0" encoding="utf-8" ?>
<extradoc>
  <class name="Test">
    <summary>
      Contains some Foo.
    </summary>
  </class>
</extradoc>

並在構建 output XML 時正確填充:

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Example Program</name>
    </assembly>
    <members>
        <member name="T:Example_Program.Program.Test">
            <summary>
      Contains some Foo.
    </summary>
        </member>
    </members>
</doc>

唯一的問題是,盡我所能,在附加我的代碼時,此文檔不會出現在智能感知框中。 我缺少一些 Visual Studio 配置設置嗎? 我已經搜索了 msn 文檔,但無濟於事。

我的問題是,當使用標簽 Intellisense 似乎沒有更新信息時,不顯示我分配給我的某些類和方法的任何 和 標簽。

1.避免您的問題是在當前項目A中無法在Intellisense中看到summary

您可以從本文檔中獲得幫助,該技術用於提供更好的閱讀體驗。 因此,假設您在當前項目A中有Test class ,當您在 VS 代碼編輯器中看到內容時,您會看到如下內容:

在此處輸入圖像描述

您將不會再看到項目 A 中的豐富評論,因為它們已被移至docs.xml ,這是預期的行為。

2.如果您的意思是當您創建一個新項目 B(或將程序集共享給其他開發人員)時,Intellisense 無法識別您的測試 class。

兩個可能的原因:

1.The output xx.dll and xx.xml from project A are not in the same folder, so when you reference that xx.dll in your new project, Intellisense won't display the documentation comments.

2.我猜你的docs.xml文件有問題。 (我在docs.xml中找不到任何官方文檔表明該技術支持用戶定義的節點,如extradocclass ,我使用這兩個節點並且Intellisense不起作用,將它們更改為正常的docsmembers后,它可以工作現在)

嘗試使用docs.xml並以這種方式include

<?xml version="1.0" encoding="utf-8" ?>
<docs>
  <members name="MyTests">
    <Test>
      <summary>
        This class is public, but do nothing
      </summary>
      <remarks>
        Just write something here to indicate this is remarks.
      </remarks>
    </Test>
  </members>
</docs>

/// <include file="docs.xml" path='docs/members[@name="MyTests"]/Test/*' />
    public class Test { }

我建議您使用公共 class 進行測試...之后創建一個新項目並引用該 xx.dll,當調用Test class 時,您可以看到摘要:

在此處輸入圖像描述

如果我們 F12 我們可以看到詳細的評論:

在此處輸入圖像描述

希望能幫助到你:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM