.Net工具 - 支持.NET 2.0又支持中文的NDoc

NDoc是将XML注释生成.chm等帮助文档的工具,对需要生成文档的程序员很有帮助,它不光可以生成.chm还可以支持另外几种文档格式,大家自己试吧。

   因为公司文档生成的需要,我下了一个NDoc,原先用VS2003时可以很方便的将XML注释生成HTML文档,不知道为什么M$在VS2005厘米就没提供这个功能。

    下来以后发现NDoc只能支持1.0和1.1的.Net运行时,我试着载入一个.NET 2.0下编译的DLL,结果运行失败。

    后来在一个外国人的Blog上下到他改造的支持.NET 2.0的NDoc,下完以后一试还真能可以生成文档了,结果打开文档一看,心凉了半截,中文全部变??了。

    于是我只能自己修改NDoc的代码了(在那位仁兄的代码基础上),经过一番试验后找到了解决乱码问题的关键

    currentFileEncoding = Encoding.GetEncoding(ci.TextInfo.ANSICodePage);

    我把这段话该成:

    currentFileEncoding = Encoding.UTF8; //.GetEncoding(ci.TextInfo.ANSICodePage);

    生成中文文档成功!

    但是ci.TextInfo.ANSICodePage哪里来的?我逐一查找代码发现原来NDoc界面上有一个LangID的设置,我真晕,里面还能设置Chinese。

    我拿未修改的NDoc选择Chinese生成了一遍文档,发现是可以显示中文了,但是还是有很多??,所以我之前做的修改还不算白费啊。

    这里把我修改的代码和可执行文件共享给大家,需要的人就下去用吧,哈哈

   可执行文件:ndoc-bin-1.3.1-v16.rar
   源代码:ndoc-src-1.3.1-v16.rar

时间: 2024-09-29 21:27:21

.Net工具 - 支持.NET 2.0又支持中文的NDoc的相关文章

深蓝词库转换2.0发布——支持仓颉、注音、五笔、郑码、二笔等

经过了2个多月的改进,终于深蓝词库转换2.0版正式与大家见面了.在1.9版本中增加了对Rime拼音输入法的支持,也得到了网友的反馈,所以在2.0版本中增加了几个新功能: 一.支持多种编码的Rime输入法. Rime输入法是一款跨平台的输入法框架,在Windows下叫小狼毫,Linux下叫中州韵,Mac下叫鼠须管.这个输入法框架异常强大,支持各种常用的输入法,而且还可以通过简单的配置自定义输入法.深蓝词库转换在1.9版本中增加了对Rime拼音输入法的支持,现在在2.0中进行了增强,除了拼音外,还能

Teiid 8.13 Beta1 发布,支持 WildFly 9.0.2.Final

Teiid 8.13 Beta1 发布,此版本支持 WildFly 9.0.2.Final.下载: http://teiid.jboss.org/downloads/ 此版本修复了之前版本关于 sockets,clustering 的 bug:支持 Web-Console.在以后的版本将会移除 "embedded" 包.更多改进内容请看发行说明. Teiid是一个数据虚拟化系统,让应用程序使用来自多个异构数据存储的数据. Teiid由一堆工具,组件和创建和执行双向数据的服务所组成.通过

myeclipse10.0不支持onClick的return chkData()

最近在做一个jsp登录页面的时候,碰到了一个问题. <%@ page language="java" contentType="text/html" pageEncoding="utf-8"%> <html> <head> <title>管理员登录页面</title> <script type="text/javascript"> function chk

SignalR 2.0所支持的平台

SignalR支持多种服务器和客户端配置.此外,每种传输方式都有自身的要求限制:如果某种传输方式不被 系统支持,SignalR能够优雅地将故障转移到其他类型的传输方式.关于SignalR所支持的传输方式的详细信息 ,参见: Transports and Fallbacks. 系统要求 SignalR服务器组件可以被多种服务器配置所支持.本节介绍所支持的操作系统,.Net框架,IIS及其他组 件. 支持的服务器操作系统 SignalR的服务器组件被以下服务器和客户端操作系统支持. Windows

怎么查看Win8是否支持蓝牙4.0?

  1.什么是 Bluetooth Smart? 2.Bluetooth 4.0 或 Bluetooth Smart 是蓝牙无线技术的智能.节能版本. 虽然 Bluetooth Smart 的高能效使它成为需要使用超小型电池运行的设备的完美之选,但 Bluetooth Smart 的神奇之处在于它能够与您已经拥有的智能手机或平板电脑上的应用程序配合使用. 3.我如何知道我的设备是否与 Arc Touch 蓝牙鼠标 (Arc Touch Bluetooth Mouse) 兼容? 4.如果您的设备预

在 Ubuntu 16.04 为 Nginx 服务器安装 LEMP 环境(MariaDB,PHP 7 并支持 HTTP 2.0)

LEMP 是个缩写,代表一组软件包(L:Linux OS,E:Nginx 网络服务器,M:MySQL/MariaDB 数据库和 P:PHP 服务端动态编程语言),它被用来搭建动态的网络应用和网页. (LCTT 译注:为何采用 LEMP 而不是 LNMP 的缩写?据 https://lemp.io/ 的解释:Nginx 的发音是 Engine-X,重要的发音而不是首字母,而且 LEMP 实际上是可读的,而 LNMP 看起来只是字母表.) 在 Ubuntu 16.04 安装 Nginx 以及 Mar

android5.0不支持我写的程序,5.0以下的能正常运行

问题描述 android5.0不支持我写的程序,5.0以下的能正常运行 有些手机连安装都不行,我在模拟器下能安装,但是不能正常运行. 自己写了一个后台的服务,启动此Activity时,绑定此服务.然后报这个错误.其他版本的都可以正常的运行. 如有知道此中原因的,望解答.谢谢 解决方案 http://blog.csdn.net/vrix/article/details/45289207 解决方案二: http://www.cnblogs.com/dolphin0520/archive/2011/1

parse-记事本粘贴的问题,Parse不支持VIS 6.0么?

问题描述 记事本粘贴的问题,Parse不支持VIS 6.0么? C:jujuawuzuoye1jsbXiaoXiaoNotepadXiaoXiaoNotepadDlg.cpp(176) : error C2352: 'CEdit::Paste' : illegal call of non-static member function 解决方案 CEdit::Paste 你调用的是静态方法,那就错了. 是 你的文本框.Paste (你的文本框)换成实际的名字

环信3.0 是否支持多人语音通话?

问题描述 环信3.0 是否支持多人语音通话? 解决方案 现在是单对单视频,没有多人视频