【发布时间】:2014-10-01 11:19:47
【问题描述】:
我正在开发一个同样针对 Android(Xamarin) 的 Windows Phone 8.1 应用
正如我在 PCL 上添加我的字符串资源 (.resx) 并在我的启动器项目中引用它们以在我的视图中使用它一样,这一切在 WP 8.1 silverlight 上都可以正常工作,但在我将项目配置为发布时在 WinRt 上运行良好并在设备上运行它,由于某种原因,我总是得到一个 MissingManifestResourceException。我已经尝试了解决这个问题的所有方法,但没有任何成功。
请注意,在模拟器上一切正常,当解决方案配置器设置为调试时,它也适用于设备和模拟器。这里唯一的组合是 device 和 Release。
应用源代码在Github。
我能够创建一个简单的项目来复制这个问题,基本上它是一个 WP 8.1 应用程序和一个带有嵌入式资源的 PCL 项目,Download Link
有人有什么想法吗?
编辑:在进行更多测试后,我尝试运行一个旧的 Windows 8.1 应用程序,该应用程序使用相同的本地化模型完成,并且出现了相同的问题,因此它似乎是工具问题而不是配置问题,因为 Windows 8.1 应用已上市,一切顺利。
【问题讨论】:
-
我认为您应该像在 Windows Store 应用程序中那样进行本地化/全球化,而不是像我们在 WP8.0 中那样...您应该使用将转换为 pri 的 Resources.resw 文件,这将加载。
-
问题是我的可移植视图模型使用资源文件,更改为 resw 意味着我的应用程序的其他模块无法使用任何全球化资源,而无需大量努力抽象资源。
-
我使用 DI 来定义位置服务和无处不在的本地化资源...并不复杂
-
我并没有说它很复杂,但它需要付出巨大的努力,因为您必须为 4 个平台实现,通过构造函数再传递一个服务(或在某个地方静态地传递),并且一如既往地可以容易出错。 XD
标签: windows-runtime windows-phone windows-phone-8.1 embedded-resource resx