Ошибка "Не удалось устранить <s: SolidColorStroke>" при попытке скомпилировать Flex 4 SWC с помощью Ant
Я пытаюсь скомпилировать компонент, используя ant, и продолжаю получать это сообщение об ошибке по всему компоненту.,,
ButtonSkin.mxml(179): Error: Could not resolve <s:SolidColorStroke> to a component implementation.
ButtonSkin.mxml(210): Error: Could not resolve <s:GradientEntry> to a component implementation.
Он прекрасно компилируется в FlashBuilder 4. Вот содержимое build.xml:
<project name="Flex Ant Tasks Build Script" default="compile flex project">
<property name="FLEX_HOME" value="c:/build/flex_sdk" />
<property name="SDK_VERSION" value="4.1.0.16076" />
<taskdef resource="flexTasks.tasks" classpath="c:/build/flex_sdk/lib/flexTasks.jar"/>
<echo message="File: ${FLEX_HOME}"/>
<!-- Build and output the Main.swf-->
<target name="compile flex project">
<compc output="${basedir}/../FlexSI/libs/MyLibrary.swc" locale="en_US">
<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml" />
<source-path path-element="${basedir}/src"/>
<include-sources dir="${basedir}/src" includes="*" />
<library-path dir="${basedir}/libs" includes="*" append="true"/>
<namespace uri="http://testapp.com/siLibrary" manifest="${basedir}/src/xml/manifest.xml" />
</compc>
</target>
</project>
2 ответа
Решение
SolidColorStroke не относится к теме Spark. Попробуйте использовать mx:SolidColorStroke вместо s:SolidColorStroke. То же самое с GradientEntry.
Обсуждение связанной с этим проблемы на forums.adobe.com.
Предложенный обходной путь или решение заключается в явном указании всех пространств имен связанных классов Spark (Flex4) и Halo (Flex3), например
<namespace uri="library://ns.adobe.com/flex/spark" manifest="${FLEX_HOME}/frameworks/spark-manifest.xml"/>
<namespace uri="http://ns.adobe.com/mxml/2009" manifest="${FLEX_HOME}/frameworks/mxml-2009-manifest.xml"/>
<namespace uri="http://www.adobe.com/2006/mxml" manifest="${FLEX_HOME}/frameworks/mxml-manifest.xml"/>