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

时间:2018-10-21 05:05:42

标签: windows uwp uwp-xaml

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

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

这是有问题的代码:

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

最让我感到困惑的是,为什么它可以在调试/发行版中工作,但只有在以软件包形式发行时才失败。

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

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

每个注释都归因于一个名为bg的文件夹,并且该项目被设置为创建“捆绑包”(即,每种语言的主要包,然后是单独的包)。

不管是好是坏,打包系统都假定具有2个字母名称的任何目录都是语言代码(例如“ en”或“ de”),因此假定资产是特定于该语言的。这些资产放置在单独的软件包中,仅在适用于当前用户的情况下安装。

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

但是,如果您不进行本地化/不担心使应用程序膨胀太多,那么创建一个程序包就可以了。