具有两个字母名称 ("bg") 的文件夹中的图像在打包为 UWP 应用时消失



我在构建Windows 10 UWP应用程序时遇到了一个非常奇怪的问题。当我在调试和发布模式下在设备上进行测试时,我设置为背景的图像看起来非常好。它调整大小等。

但是,当我打包应用以准备应用商店部署并安装要测试的包时,图像显示为白色。

这是有问题的代码:

mainGrid.Background = new ImageBrush { ImageSource = new BitmapImage(new Uri(@"ms-appx:///Assets/bg/" + Config.bgImage + ".jpg")), Stretch = Stretch.UniformToFill };

最让我困惑的是为什么它可以在调试/发布中工作,但只有在作为包发布时才失败。

图像设置为"内容"和"始终复制"。

有什么想法吗?

提前感谢!

根据评论,这是由于一个名为bg的文件夹,并且项目被设置为创建一个"捆绑包"(即,一个主包,然后是每种语言的单独包(。

无论好坏,打包系统都假定任何具有 2 个字母名称的目录都是语言代码(如"en"或"de"(,因此假定资产特定于该语言。这些资产放置在单独的包中,仅当适用于当前用户时才安装该包。

如果您有大量资产,并且正在本地化它们,那么使用捆绑包仍然是最小化应用程序大小和下载时间的好方法,在这种情况下,您需要将目录名称更改为更长的名称(从技术上讲,您可以自己控制打包,但工作量很大......重命名可能更容易(。

但是,如果您不本地化/不担心应用程序过于膨胀,那么创建单个包就可以了。

最新更新