仅当包含自定义命名空间时:无法将<mx:linechart>解析为组件实现</mx:linechart>

时间:2010-07-06 04:09:23

标签: flex actionscript-3 ant flex4

尝试使用Ant构建flex4项目时遇到错误。当我没有用于导出CustomComponent的自定义命名空间(也就是说:它通常正常构建)时,此代码有效 - 但是只要我添加命名空间和include-namespaces,我就会收到以下错误:

[compc] CustomComponent.mxml(235): Error: Could not resolve <mx:LineChart> to a component implementation.
[compc] 
[compc]     <mx:LineChart x="0" y="0" id="lch_fps" width="651" height="45" dataProvider="{perfData}">
[compc] 

这是我的compc块(我正在构建一个swc)

<compc output="${DEPLOY_DIR}/${LIB_TITLE}.swc" include-classes="${classes}" incremental="false" >
    <define name="CONFIG::Debug" value="${DEBUG}"/>
    <define name="CONFIG::Release" value="${RELEASE}"/>
    <source-path path-element="${basedir}/src"/>
        <namespace uri="http://custom.com/mxml" manifest="${basedir}/src/manifest.xml" />
        <include-namespaces>http://custom.com/mxml</include-namespaces>
    <include-file name="design.xml" path="${basedir}/src/design.xml" />
</compc>

我不能说我曾遇到过这样的问题:有什么建议吗?

1 个答案:

答案 0 :(得分:2)

结果 - 经过几天的试验,错误和研究 - 我需要在compc ant任务中定义名称空间。

    <namespace uri="http://ns.adobe.com/mxml/2009" manifest="${FLEX_HOME}/frameworks/mxml-2009-manifest.xml" />
    <namespace uri="library://ns.adobe.com/flex/spark" manifest="${FLEX_HOME}/frameworks/spark-manifest.xml" />
    <namespace uri="library://ns.adobe.com/flex/mx" manifest="${FLEX_HOME}/frameworks/mx-manifest.xml" />
    <namespace uri="http://www.adobe.com/2006/mxml" manifest="${FLEX_HOME}/frameworks/mxml-manifest.xml" />

不确定为什么拥有可导出的自定义组件需要这样,但它有效。