我的注释那去了?
當我們用nuget引用三方庫時,在類型,或類型成員上會有注釋,如下圖,是MySql官方包,command的ExecuteNonQuery的注釋
我們自己寫一個類庫項目CommentsLibrary,給類,構造函數,方法添加xml注釋,然后生成
然后在我們的CommentsApp項目中引用CommentsLibrary.dll(不是在同一個解決方案中引用項目,因為我們是把dll給別人用,不是把源碼給別人用),你會發現是沒有注釋的,我的注釋哪去了呢?
那繼續回到MySqlCommand,看一下他為什么會有注釋,選中CommentsApp項目,依賴項中的包,找到MySql.Data
進入nuget包所在的路徑
在lib下,有不同的適配框架,你會發現,不管那個框架,除了dll外還有xml文件,打開xml,你會發現,原來注釋藏在這里,也就是說,我們只引用dll時,是沒有注釋的,注釋是單獨放在xml中的。
其實為項目添加xml也很簡單,接下來為CommentsLibrary項目添加xml,注釋會自動生成到xml文件中
這里,我們重新引用CommentsLibrary.dll,查看TestMethod,就會有注釋了(有時有緩存,可能會看不到或刪除xml還能看到注釋)
所以,我們最好用nuget來管理我們的包,如果是私有庫,就搭建私有nuget服務(還記得我把標題寫錯的那篇文章嗎?輕量NuGet服務—GaGet),這樣即能有版本區分,也能自然把注釋xml引入進來。否則,就把xml文件帶上
總結
                            
                        - 上一篇: 使用 Source Generator
 - 下一篇: 看书的一点小建议!