0

在一些使用定位(语言属性)的控件上。除了默认(即英语)外,我还使用其他语言(斯洛文尼亚语)。

其他本地化是通过应用程序资源文件完成的。

如果我在模拟器上调试应用程序,则会有一个目录(si-sl),但如果我构建一个 CAB 并将 CAB 安装在模拟器上,则那里没有这样的目录。

有谁知道为什么会这样?

4

1 回答 1

1

我必须看看你的 CAB 的 INF,但我有一个理论。CAB 文件有一个限制,即它们只能有一个文件名的实例。如果您有多个实例,CABWIZ 不会抱怨或给出错误,它只会使用(IIRC)最后一个引用的实例。

这意味着你有这样的源文件:

./en/resource.dll
./es/resource.dll
./jp/resource.dll

如果您构建 CAB 文件,则目标中 resource.dll 文件的所有实例都是相同的,而不是您认为要推送的单独文件。要解决这个问题,您必须在进入 CAB 的源端重命名它们。

可以使用 CAB 将它们重命名为它们都具有相同的名称(即 resource.dll),因此手动修改 INF 仍然可以获得所需的输出结构。您只需修改 CAB 构建过程即可重命名您的副本。

于 2010-09-14T12:57:01.500 回答