Apache flex 将站点从Flex 3转换为Flex 4时出错

Apache flex 将站点从Flex 3转换为Flex 4时出错,apache-flex,flex3,migration,flex4,Apache Flex,Flex3,Migration,Flex4,我正在将Flex 3站点移动到Flex 4,但当我运行应用程序时,它试图从Adobe下载.swz文件,并给出以下错误: *** Security Sandbox Violation *** Connection to http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz halted - not permitted from http://localhost/Fl/CityGIS/main.swf E

我正在将Flex 3站点移动到Flex 4,但当我运行应用程序时,它试图从Adobe下载.swz文件,并给出以下错误:

*** Security Sandbox Violation ***
Connection to http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz halted - not permitted from http://localhost/Fl/CityGIS/main.swf
Error #2048: Security sandbox violation: http://localhost/Fl/CityGIS/main.swf cannot load data from http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz.
Failed to load RSL http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz
Failing over to RSL textLayout_1.1.0.604.swz
下面是从localhost下载相同文件的尝试


有没有办法配置SDK来获取这些文件,或者我的应用程序的配置有问题?

Hmmmm-通常这是因为您访问的站点不包含crossdomain.xml文件。不过我可以从网上下载

尝试将此添加到编译器选项:-use network=false

然后清理并强制构建你的应用程序

如果这不起作用,只是抓住稻草,但您是否尝试过将其放在您的项目库空间中

另外,您确定已更新到Flex 4.1吗?


我刚刚检查了我的本地KB(evernote),并提到FireFox有时会出现缓存问题,重启FF为我解决了一次问题。

我认为问题在于它用于textLayout swc的位置

重定向到

/pub/swz/flex/4.1.0.15186/textloayout_1.1.0.601.swf

跨域政策对此并不满意

我认为这表明您正在使用的sdk版本存在问题。您可以进入
sdks//frameworks/flex config.xml
(位于Flash Builder目录中),查看如何为textLayout.swc配置运行时共享库路径。这就是我为flex_sdk_4.1.0.15186所做的:

<!-- TextLayout SWC -->    
<runtime-shared-library-path>
  <path-element>libs/textLayout.swc</path-element>
  <rsl-url>textLayout_1.1.0.601.swf</rsl-url>    
  <policy-file-url></policy-file-url>    
  <rsl-url>http://fpdownload.adobe.com/pub/swz/flex/4.1.0.15186/textLayout_1.1.0.601.swf</rsl-url>
  <policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>

libs/textLayout.swc
文本布局_1.1.0.601.swf
http://fpdownload.adobe.com/pub/swz/flex/4.1.0.15186/textLayout_1.1.0.601.swf
http://fpdownload.adobe.com/pub/swz/crossdomain.xml

我建议尝试切换到最新的4.1 sdk并重新编译。

我发现我只在使用:-use network=false时出现了这个问题,我试图在本地运行html,而.swf正在访问本地文件(在flex security free文件夹之外)

我的解决方法是更新SDK//frameworks/flex-config.xml(在Flash Builder目录中),并交换运行时共享路径的顺序:例如:

<runtime-shared-library-path>
    <path-element>libs/textLayout.swc</path-element>
    <rsl-url>http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz</rsl-url>
    <policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
    <rsl-url>textLayout_1.1.0.604.swz</rsl-url>
    <policy-file-url></policy-file-url>     
</runtime-shared-library-path>

libs/textLayout.swc
http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz
http://fpdownload.adobe.com/pub/swz/crossdomain.xml
文本布局_1.1.0.604.swz
致:


libs/textLayout.swc
文本布局_1.1.0.604.swz
http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz
http://fpdownload.adobe.com/pub/swz/crossdomain.xml
对于其他5个左右的条目,您必须这样做

Adobe应该认真考虑这一点,并解决这个问题

希望这有帮助

干杯

帕米

<runtime-shared-library-path>
    <path-element>libs/textLayout.swc</path-element>
    <rsl-url>textLayout_1.1.0.604.swz</rsl-url>
    <policy-file-url></policy-file-url>     
    <rsl-url>http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz</rsl-url>
    <policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>