打包为 UWP 应用程序时,名称为两个字母 ('bg') 的文件夹中的图像消失

Image inside folder with two-letter name ('bg') disappears when packaged as UWP app

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

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

这是有问题的代码:

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

最让我困惑的是为什么它在 debug/release 中有效,但只有在作为软件包发布时才会失败。

图像设置为"Content"和"Copy Always"。

有什么想法吗?

提前致谢!

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

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

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

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