2012-10-27 131 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去除标签。但我相信正则表达式会更有效率。

相关问题