解惑

解己之惑,解人之惑

标签:javadoc

SandCastle使用入门

看了网上的SandCastle入门,但是我使用的时候还是遇到很多问题。
秉承我的一贯作风写个我的入门指南:

  • 下载SandCastle并安装
  • 设置系统环境变量DXROOT指向SandCastle安装的目录,默认是C:\Program Files\Sandcastle\
  • 把SandCastle的productiontools加到系统环境变量PATH里面%DXROOT%\productiontools;
  • 把SandCastle的example的bat文件拷贝出来备用:C:\Program Files\Sandcastle\Examples\sandcastle\build_Sandcastle.bat,建议把bat重命名为generate_chm.bat
  • 如果你使用Visual Studio,那么修改工程的属性,把Build的Output中的XML Documentation File勾中,如果没有使用Visual Studio,那么可以使用csc命令生成这个XML文件 csc /doc:Xxx.xml Xxx.cs,如果编译依赖其他的东西,也需要在命令行中提供。
  • Build工程,把Build生成的bin下的所有内容(debug或者release),注意是所有内容拷贝到其他的新建的目录下,然后把generate_chm.bat也拷贝过去,然后在DOS下进入那个目录: generate_chm vs2005 Xxx。不要直接在Visual Studio的工程下面运行,一个是生成很多中间的目录和文件,二是好像影响正常生成(我开始都是在Visual Studio下弄的,总是不成功)。

java.lang.ClassCastException: com.sun.tools.javadoc.ClassDocImpl

这个是在生成Javadoc的时候发现的,google了下,不少问的,第一个是说这个是个bug,其实以前也google过,看到那个说是bug而且优先级是4-Low,状态也不是close就没有去理会这个问题,这次又搜索了下,耐着性子看了几个帖子,发现这个不是bug,而是有解决方案,因为我是在ant脚本里面加的,解决方案就是在javadoc的task指定classpath或者classpathref,只要和你编译那些类使用一样的classpath或者classpathref就行。

© 2024 解惑

本主题由Anders Noren提供向上 ↑