Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 找不到Flash Builder(Flex)Air项目mx.*库swc类mx.logging.targets::LineFormattedTarget_Actionscript 3_Flash_Flash Builder_Swc - Fatal编程技术网

Actionscript 3 找不到Flash Builder(Flex)Air项目mx.*库swc类mx.logging.targets::LineFormattedTarget

Actionscript 3 找不到Flash Builder(Flex)Air项目mx.*库swc类mx.logging.targets::LineFormattedTarget,actionscript-3,flash,flash-builder,swc,Actionscript 3,Flash,Flash Builder,Swc,我项目的一位队友添加了一个swc,其中包含一些mx日志类,现在我的项目无法编译。错误: Class mx.logging.targets::LineFormattedTarget could not be found. 我正在使用最新的Flash Builder 4.6,全新安装。我注意到,当我进入project>properties>Actionscript编译器,然后选择Libraries时,没有像以前那样选择MX的选项。任何人都知道如何解决这个问题。我认为swc背后的想法是它们是独立的,

我项目的一位队友添加了一个swc,其中包含一些mx日志类,现在我的项目无法编译。错误:

Class mx.logging.targets::LineFormattedTarget could not be found.

我正在使用最新的Flash Builder 4.6,全新安装。我注意到,当我进入project>properties>Actionscript编译器,然后选择Libraries时,没有像以前那样选择MX的选项。任何人都知道如何解决这个问题。我认为swc背后的想法是它们是独立的,不需要我添加额外的导入。谢谢。

是啊,很奇怪。。。因此,在讨论了以上内容之后,我创建了一个示例项目,它可以很好地编译我正在使用的4.6.0 SDK,当我在左侧导航器的库中展开它时,我可以在我的framework.swc中看到LineFormattedTarget类:

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       creationComplete="windowedapplication1_creationCompleteHandler(event)">
    <fx:Script>
        <![CDATA[
            import mx.core.mx_internal;
            import mx.events.FlexEvent;
            import mx.logging.targets.LineFormattedTarget;

            protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void
            {
                var test:LineFormattedTarget = new LineFormattedTarget();
            }

        ]]>
    </fx:Script>
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>

</s:WindowedApplication>


我会检查以确保它显示了4.6引用库中的framework.swc,如果swc不存在,请尝试删除框架并将其重新添加到库路径中,如果失败并产生相同的结果,我会重新查看SDK

“我认为swc背后的想法是,它们是独立的,不需要我添加额外的进口。“-不一定。当你编译一个swc时,就像编译到swf时一样,你可以选择嵌入框架包或将它们链接起来,以便在运行时找到。是的,swc背后的思想就像Java中的jar一样,如果你熟悉的话,它只是一个包含关于它所包含的类的元数据和该swc编译类的字节码的单个文件,这并不意味着它必须包含它的所有依赖项(尽管默认情况下flash builder是如何设置的,我很确定它在引用的类中编译的)。您可能应该1回滚到编译库所使用的SDK并使用它,或者2获取原始源代码并更新它以编译最新的SDK。可能值得注意的是,您可以使用任何压缩工具(winzip或winrar或file roller或其他任何工具)打开swc您将在其中找到一个catalog.xml文件,该文件顶部有SWC编译时使用的Flex版本。我发现用一个强大的文本编辑器(如果我给它一个大文件,它不会死)和一个压缩工具打开大多数不熟悉的文件格式是很有用的,如果它在查看文本时出现乱码,我只是想看看我是否能把这个文件拆开,并了解它的组成部分。@shaunhusain我想这可能是sdk兼容性方面的一个有趣的事情,尽管我没有排除这个可能性,但我知道项目中的另一个开发人员使用flash builder 4.5和4.6都使用sdk 4.6(和我一样)编译得很好.Hmm yah实际上只是在我的SDK文件夹上快速搜索了一下,我在4.6源代码中找到了该文件,它看起来也应该在4.6 SDK中包含的framework.swc中,我想?C:\CleanFS\SDKs\flex\4.6.0.23201B\frameworks\projects\framework\src\mx\logging\targets