【发布时间】:2012-07-10 00:38:54
【问题描述】:
“无法明确解析多名称引用”
在 Google 和 SO 上搜索此字符串会产生大量结果。我已经阅读了很多,但是当包资源管理器中实际上没有重复文件时,它们都没有真正谈论重复的图像资产。
在 CSS 文件中使用嵌入代码:
.helpLink {
over-skin: Embed(source="images/blank.gif");
}
...然后将上述 CSS 文件导入到 mxml 文件中:
<mx:Style source="skins/main.css" />
...我收到了 100 个这样的错误:
Can not resolve a multiname reference unambiguously.
_class_embed_css_images_blank_gif__1196752591_1370790129 (from _class_embed_css_images_blank_gif__1196752591_1370790129.as) and
Faces:_class_embed_css_images_blank_gif__1196752591_1370790129 (from Faces/_class_embed_css_images_blank_gif__1196752591_1370790129.as) are available.
BriefInfoFace.mxml
/[REDACTED]/src/Faces
这意味着Faces 中有一个blank.gif 文件,但我向你保证没有。它只存在于我的“包资源管理器”中的一个位置,在images 文件夹中,该文件夹是Faces 的兄弟。 Faces 文件夹只有mxml 文件,images 文件夹只有真实的图像文件(png、gif)。
如果我清理项目,它将编译并运行,但之后的任何后续运行都不会编译。这带来了一个巨大的问题,因为每次我想调试它时我都必须不断地清理项目。 Faces 文件夹中没有blank.gif 时,如何防止出现此错误?
7/14 更新
根据要求,here is a dump的目录结构
7/15 更新
根据要求,这是一张我在main.css 拉的地方的照片
还有在BriefInfoFace.mxml 中找到的imports
【问题讨论】:
-
你有没有机会将
-keep-generated-actionscript编译器标志设置为true? -
不。编译器设置为:-locale en_US -compatibility-version=3.0
-
如果我们在源代码中添加斜线,例如
source="/skins/main.css",可以吗?使您的链接一直明确到项目根目录。 -
这也没有解决问题。使它们仍然编译绝对路径,但错误消息是相同的(使用新路径)
-
你说 /Faces 和 /images 是兄弟姐妹,那么 /skins 呢?另外,mxml(导入 main.css)在哪里?
标签: actionscript-3 apache-flex flash-builder embed flex4.5