本地化后WP8应用程序崩溃

本文关键字:崩溃 应用程序 WP8 本地化 | 更新日期: 2023-09-27 18:23:49

最近,我决定尝试使用多语言应用程序工具包,以便在我现有的WP8应用程序中添加本地化支持。

我按照说明操作,它为我选择的语言生成了AppResources文件,并准备好进行测试。不幸的是,每次我将应用程序部署到我的设备上(也尝试过使用模拟器),它都会立即崩溃,没有任何异常、消息或任何其他信息。我试图清理项目,删除bin和obj文件夹,禁用我之前添加的语言和多语言应用工具包,但没有成功。

我只使用AppResources文件创建了一个新项目,它运行得很好。但是,我不认为问题出在我的代码中,因为它在崩溃之前甚至没有到达App.xaml.cs文件中的App()方法。

有人知道发生了什么事吗?

编辑:
资源文件夹是否有大小限制?

第2版:
我在Visual Studio进程中附加了一个调试器,当我在手机上运行该项目时,会引发以下异常:

线程0x3d34已退出,代码为259(0x103)。

PresentationCore.dll 中首次出现类型为"System.NotSupportedException"的异常

PresentationCore.dll 中首次出现类型为"System.NotSupportedException"的异常

EnC:进入调试模式:项目"ProjectName"

JetBrains.Platform.ReSharperVisualStudio.Core.dll 中首次出现类型为"System.OutOfMemoryException"的异常

线程0x1900已退出,代码为259(0x103)。

Microsoft.Build.dll 中首次出现类型为"Microsoft.Build.Exceptions.InvalidProjectFileException"的异常

mscorlib.dll 中首次出现"Microsoft.Build.Exceptions.InvalidProjectFileException"类型的异常

线程0x27d0已退出,代码为259(0x103)。


感谢

本地化后WP8应用程序崩溃

我要检查的前四件事是AppResources.resx访问修饰符是否为公共

设计器没有导致错误。

文件夹名为Resources。

工具菜单中启用了多语言应用工具包。

我从未在资源文件夹中遇到过大小问题。我建议从一种语言开始,在它完全发挥作用后再添加到列表中。

我通过做我最想避免的事情来解决这个问题;

我创建了一个全新的项目,将所有文件从旧项目复制到新项目(本地化文件也是)。现在一切都很好。

我认为生成AppResources.Designer.cs文件的ResX自定义工具有问题。

您是将本地化文件移到另一个项目还是更改了名称?

如果是,请检查[您的资源文件中的English.Designer.cs

还有寻找资源的代码:

/// <summary>
        ///   Returns the cached ResourceManager instance used by this class.
        /// </summary>
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        public static global::System.Resources.ResourceManager ResourceManager {
            get {
                if (object.ReferenceEquals(resourceMan, null)) {
                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Localization.Resources.AppResources", typeof(AppResources).Assembly);
                    resourceMan = temp;
                }
                return resourceMan;
            }
        }

在我的代码中,字符串Localicazation.Resources.AppResources表示Project.Folder.ResourceFiles.

这是一个非常罕见的问题。试试这个:只使用AppResources文件创建一个新项目&尝试部署该项目。如果新应用程序崩溃,那么问题出在AppResources文件上;如果没有,那么问题就出在代码中。