2014-09-19 75 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