NDoc修改手记

来源:互联网 发布:手机键盘输入记录软件 编辑:程序博客网 时间:2024/04/30 03:45

NDoc是一个非常不错的C#文档生成工具,但在使用的过程中发现在用其生成的Msdn类文档使用LangID为2052——也就是使用简体中文时,空格被?代替了,怎样解决它呢?

一个偶然的机会看到了这里http://blog.joycode.com/percyboy/archive/2003/12/26/9927.aspx有人发布了NDoc的中文版,于是进去看了看。在这里找到了问题的所在,发布者破宝说:再翻译的时候错误的使用了字符集。这给了我提示,于是将NDoc的源代码修改了一下,问题解决了。方法如下:

打开NDoc解决方案后,找到Msdn项目中的MsdnDocumenter.cs文件,将其中的函数public override void Build(Project project)中的代码(大约在170行左右)

    CultureInfo ci = new CultureInfo(MyConfig.LangID);
    currentFileEncoding = Encoding.GetEncoding(ci.TextInfo.ANSICodePage);
修改为
    if(MyConfig.LangID==2052)
    {
     currentFileEncoding = Encoding.GetEncoding("utf-8");
    }
    else
    {
     CultureInfo ci = new CultureInfo(MyConfig.LangID);
     currentFileEncoding = Encoding.GetEncoding(ci.TextInfo.ANSICodePage);
    }
同样的方法修改Msdn2中的代码。

当然这样的修改只是为了解决问题。

NDoc可以到这里http://ndoc.sourceforge.net/下载。

原创粉丝点击