天天看點

【新閣教育上位機】為什麼我的VS自帶的類怎麼都沒有注釋了?

【新閣教育上位機】為什麼我的VS自帶的類怎麼都沒有注釋了?

1、為什麼我的VS自帶的類怎麼都沒有注釋了?

      這是很多同學經常遇到的一個問題,通常我會讓他們自己切換一下其他的.Net Framework試試,通過都能解決問題,但是究其原因,今天跟大家徹底剖析一下。

      首先我們要明确一下,dll的注釋是如何來的,dll天生就是不帶注釋的,如果你看到的dll有注釋,不管是中文還是英文,其實是通過與該dll配套的一個xml檔案産生的。

      這樣就很容易了解,為什麼切換一下.Net Framework就能讓VS自帶的類變得有注釋了。因為不同.Net Framework的dll在VS安裝目錄裡是對應不同的檔案夾的,具體可以從下圖看到:

【新閣教育上位機】為什麼我的VS自帶的類怎麼都沒有注釋了?

路徑如下:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework

你打開沒有注釋對應的檔案夾與有注釋對應的檔案夾,你會發現有注釋的dll檔案夾裡會多一個名字叫做zh-Hans的檔案夾,是以如果你能把這個檔案夾複制過去,其他的.Net Framework也會有中文注釋。

【新閣教育上位機】為什麼我的VS自帶的類怎麼都沒有注釋了?

2、怎麼讓我的dll帶有注釋?

      如果上一個問題可以弄清楚,那麼這個問題就變得簡單了,說白了就是需要提供一個xml檔案,但是這個xml檔案難道是直接寫的嗎?

       其實并不是,在你的dll對應的類庫,右擊屬性中,我們在生成頁面中,可以看到一個XML文檔檔案的選項,勾選一下。

【新閣教育上位機】為什麼我的VS自帶的類怎麼都沒有注釋了?

 這樣你再次生成的時候,根目錄下就會自動多一個同名xml檔案,這就是我們需要的xml檔案。

【新閣教育上位機】為什麼我的VS自帶的類怎麼都沒有注釋了?

但是這個xml檔案裡面是沒有什麼内容的,你複制過去也沒用,需要你給所有的公共方法屬性,通過///的方式添加注釋,才會有意義。至于哪些地方需要加注釋,你勾選之後,編譯一下,自動會告訴你哪些地方需要加注釋。

    /// <summary>

    /// 

    /// </summary>

注意事項:

最後一個需要注意的地方,如果xml檔案複制進去了,仍然看不到注釋,需要重新開機一下VS或者删除引用重新添加一下。

繼續閱讀