2012-10-27 95 views
0

基本上,我試圖將所有文檔保存在單獨的文件中,並使用<include>標籤。這樣可以讓我的源代碼免於文檔混亂。我仍然想要一些關於課程和成員的開發人員筆記,所以我使用了<devdoc>標籤。現在的問題是Visual Studio將我的開發人員註釋添加到xml文檔文件中。有沒有辦法沒有它編譯到XML文檔?編譯時有沒有辦法讓Visual Studio忽略<devdoc>標記?

/// <devdoc>This is an interesting Foo class</devdoc> 
/// <include file="docs.xml" path='Doc/Member[@for="MyNamespace.Foo"]/*' /> 
public class Foo { ... } 

這就造成:

<member name="T:MyNamespace.Foo"> 
    <devdoc>This is an interesting Foo class</devdoc> 
    <Summary>Some summary for testing.</Summary> 
</member> 

我意識到沙堡不會使用<devdoc>類時,它會生成文件,但如果我想給我的圖書館智能感知信息我需要包含生成的xml文件。如果不可能,這不是世界末日,但我希望有一種方法可以排除它。

回答

0

我會創建一個簡單的控制檯應用程序,將從後生成事件調用。該應用程序將刪除所有<devdoc>標籤。它可以非常簡單。剛纔看了生成的XML文件,並使用正則表達式是這樣的:

using System.Text.RegularExpressions; 

Regex regex = new Regex("<devdoc>(.|\n)*</devdoc>", RegexOptions.Compiled | RegexOptions.Multiline); 
s = regex.Replace(s, string.Empty); 

您還可以使用XmlDocument的及其的getElementsByTagName方法,然後XmlNode.RemoveChild去除標籤。但我相信正則表達式會更有效率。

相關問題