資源 (RESX) 文件搞砸了
我有一個名為 Localize.resx 的資源文件,其中包含英文字元串。我將其複制並粘貼到同一個文件夾(App_GlobalResources)中,VS 創建了一個副本,我將副本重命名為 Localize.sl.resx,將原始副本重命名為 Localize.en.resx。現在程式碼隱藏文件 (Localize.en.designer.cs) 中的所有內容都消失了。刪除設計器文件並選擇執行自定義工具會生成一個新的但完全空白的設計器文件。
我的所有字元串都在兩個 resx 文件中,但設計器文件已消失(空),因此無法建構應用程序。
這是帶有 ASP.NET MVC 解決方案的 VS 2010 內部。
這就是ASP.NET 文件中有關資源文件的內容。
它沒有專門討論動態生成的程式碼隱藏設計器文件,但如果您仔細閱讀粗體文本,它本質上是說您需要沒有指定語言的基本文件,鑑於此,只有這個文件將包含自動生成的文件是有道理的程式碼。
“**創建資源文件時,首先創建一個基本的 .resx 文件。對於要支持的每種語言,創建一個具有相同文件名的新文件。但在名稱中,包括語言或語言和文化(文化名稱)。**有關文化名稱的列表,請參閱 CultureInfo 類。例如,您可以創建以下文件:
•WebResources.resx
基礎資源文件。這是預設(備用)資源文件。
•WebResources.es.resx
西班牙語的資源文件。
•WebResources.es-mx.resx
專門針對西班牙語(墨西哥)的資源文件。
•WebResources.de.resx
德語的資源文件。”
實際上我以前從未註意到這一點,但是當我去檢查我的舊項目時,我發現它們都有基本文件,然後是特定於語言的文件。所以我只是更正了它以遵循該約定,它現在可以工作了。