2014-09-19 48 views
2

最近,我决定尝试Multilingual App Toolkit为了在我现有的WP8应用程序中添加本地化支持。WP8应用程序本地化后崩溃

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

我使用AppResources文件创建了一个新项目,它工作正常。但是,我认为问题不在我的代码中,因为它在崩溃之前甚至不会在App.xaml.cs文件中达到App()方法。

任何人都知道发生了什么事?编辑:
Resources文件夹是否有大小限制?

编辑2:
我附加调试到Visual Studio的过程,当我在我的手机上运行的项目下列异常抛出:

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

“System.NotSupportedException”类型的第一次机会异常出现在PresentationCore.dll中

“System.NotSupportedException”类型的第一次机会异常出现在PresentationCore.dll中

ENC:进入调试模式:项目类型“System.OutOfMemoryException的”的“项目名”

第一次机会异常出现在JetBrains.Platform.ReSharper.VisualStudio.Core.dll

线程0x1900具有EXI代码259(0x103)。

型“Microsoft.Build.Exceptions.InvalidProjectFileException”的第一次机会异常出现在Microsoft.Build.dll

型“Microsoft.Build.Exceptions.InvalidProjectFileException”的第一次机会异常出现在mscorlib.dll

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


感谢

+0

尝试检查项目属性,启动对象等我经历了奇怪的应用程序在次要项目更改后几次启动,并且主要是他们与项目属性相关,即使我没有更新这些项目属性。 – danyloid 2014-09-25 11:04:08

+0

感谢您的评论。我仔细检查了项目属性中的所有内容,但他们似乎没有问题。 – GeorgeChond 2014-09-26 11:33:42

回答

2

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

我创建了一个全新的项目,将旧项目中的所有文件都复制到新项目中(本地化文件)。现在一切正常。

我认为生成AppResources.Designer.cs文件的ResX Custom Tool存在问题。

1

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

+0

那么,正如我所说的应用程序是好的,我在代码中做的唯一更改是从AppResources获取字符串,而不是对其进行硬编码。我会尽力的。谢谢。 – GeorgeChond 2014-09-20 09:29:18

+0

我试过了,AppResources的新项目工作正常。我认为这个问题并不是我的代码,因为它在App.xaml.cs文件崩溃之前甚至没有到达App()方法。 – GeorgeChond 2014-09-22 13:49:14

1

您是否已将本地化文件移至其他项目或更改了某个名称?

如果是这样,请检查[您的资源文件是否为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。

+0

不幸的是,那里没有错。尽管感谢您的回答。 – GeorgeChond 2014-09-23 16:45:14

2

第一四件事情我会检查是,如果AppResources.resx访问修饰符是公共

设计者不造成一个错误。

该文件夹名为Resources。

多语言应用程序工具包在工具菜单中启用。

我从来没有遇到资源文件夹中的大小问题。我建议先从一种语言开始,然后在功能齐全后添加到列表中。

+0

嗯,我在我的开始页面中有一个'Invalid Xaml'错误,我以前没有。我试图删除整个控件(一个'LongListSelector'),但没有解决它。我在这里读了不同的问题,删除程序集名称中的空格修复了它,但程序集名称中没有空格。 – GeorgeChond 2014-09-26 11:35:52

+0

我修改了我的问题并提供了更多详细信息。 – GeorgeChond 2014-09-26 13:11:33

+0

我假设你在app.xaml中有 2014-09-26 16:18:47