我似乎无法弄清楚为什么每次尝试在Flash Builder 4中编译ASDoc时仍然继续出现此错误。

我确实在ASDoc中成功创建了asdoc-output文件夹,但是它不完整。仅显示toplevel.xml和tempdita文件夹。

这是我的控制台上显示的错误

Error at xsl:choose on line 46 of processHTML.xslt:
  java.io.FileNotFoundException:
  /Users/NEWYORK/abritez/Documents/workspaces/ate/ATE_Shell/asdoc-output/index.tmp (No such
  file or directory)
  at xsl:apply-templates (file:/Users/NEWYORK%5Cabritez/Documents/workspaces/ate/ATE_Shell/asdoc-output/tempdita/processHTML.xslt#25)
     processing /html
Transformation failed: Run-time errors were reported

Line 46 is in ProcessHTML.xslt is the initial <xsl:choose> in the element bellow.

<xsl:template match="html">
<xsl:copy-of select="$noLiveDocs"/>
<xsl:choose>
  <xsl:when test=".//frameset">
    <xsl:copy-of select="$frameDocType"/>
  </xsl:when>
  <xsl:otherwise>
    <xsl:copy-of select="$docType"/>
  </xsl:otherwise>
</xsl:choose>
<xsl:choose>
  <xsl:when test="$isLiveDocs"/>
  <xsl:otherwise>
    <xsl:value-of select="$markOfTheWeb"/>
  </xsl:otherwise>
</xsl:choose>
<xsl:element name="html">
  <xsl:apply-templates/>
  <xsl:copy-of select="$copyrightComment"/>
  <xsl:value-of select="$newline"/>
</xsl:element>
</xsl:template>


我去了外部工具配置并添加了asdoc的位置

/Applications/Adobe Flash Builder 4/sdks/flex_sdk_4.1/bin/asdoc

then i added my Working Directory

${workspace_loc:/ATE_Shell}

And lastly I inserted all my arguments

-lenient
-source-path src
-doc-sources src
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/ActivityToolkitLib/bin/ActivityToolkitLib.swc
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/ATE_Template/bin/ATE_Template.swc
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/AssesmentCommunicationLib/bin/AssesmentCommunicationLib.swc
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/BFW_UI/bin/BFW_UI.swc
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/DiagnosticReporter/bin/DiagnosticReporter.swc

UPDATE:I ended up rolling back to 3.5 and did a test application with only one method to document and got this error.

My method

package com.test
{
import mx.containers.Canvas;


public class Grouptest extends Canvas
{
    public function Grouptest()
    {
        super();
    }

    /**
     *  Hello
     *
     * @param   value   Some string
     * */

    public function set testMe(value:String):void
    {
        trace("value " + value)
    }
}
}


我的错误

加载配置文件/ Applications / Adob​​e Flash Builder 4 / sdks / 3.5.0 / frameworks / flex-config.xml Adob​​e ASDoc
版本3.5.0构建12683
版权所有(c)2004-2007 Adob​​e Systems,Inc.保留所有权利。

错误:“”不是目录
使用“ asdoc -help”获取有关使用命令行的信息


任何帮助或指向正确方向的信息将不胜枚举。我过去曾经运行过ASDoc,所以我确定我一定会忽略一些东西。

最佳答案

众所周知,ASDoc不擅长报告错误并发出红色鲱鱼。

以下内容适用于Flex3。我认为它仍然适用于Flex 4。

要记住的主要事情是,ASDoc只执行一次通过,而编译器不(至少)执行两次。这就暴露了编译器为您隐藏的问题,通常,如果您声明某些东西是可绑定的,但没有将类设为IEventDispatcher,则编译器会在第一遍为您作弊,但是ASDoc只会失败。

另一个常见的问题是使用@see之类的标签时找不到文件。如果您将路径命名错误,则ASDoc会掉下来而不生成。

根据我的经验,最常见的第三个问题是格式错误的html标签。忘记在不接受标签的ASDoc标签中添加或添加HTML标签。

令人遗憾的是,由于ASDoc无法报告这些错误并且不能很好地处理错误,因此在不逐行浏览代码的情况下,查找问题的根源就成了一场噩梦……

10-08 06:57