我有一個場景,我需要共享多個項目類型(網絡前端,WCF,Windows服務等)之間的本地化,所以我的想法是創建一個本地化大會,我可以嵌入我的所有resx文件,然後隨時添加/修改這些我只需要重新部署一個DLL來更新我所有的應用程序。本地化resx文件在單獨的程序集中?
因此,爲了測試我創建了一個類庫項目並將其命名爲TestLocalization。我向它添加了一個名爲LocalizationManager的類,它現在只是一個存根(我打算稍後將一些實用方法放入它中)。然後我在每個文件中添加了兩個resx文件。我命名了一個文件Resource.resx和另一個Resource.fr.resx。我驗證了RESX文件的生成操作設置爲‘嵌入的資源’,然後編譯它,並試圖用下面的代碼來調用它:
Assembly assembly = typeof(TestLocalization.LocalizationManager).Assembly;
ResourceManager rm = new ResourceManager("Resource", assembly);
string str = rm.GetString("AKey");
它給了我下面的錯誤:
「無法找到適合特定文化或中性文化的任何資源,確保「Resource.resources」在編譯時正確嵌入或鏈接到程序集「TestLocalization」中,或者所有需要的附屬程序集均可加載並完全簽名。
我在這裏做錯了什麼? 謝謝!
你舒爾..你該怎麼做才能避免「內部」類型的資源嗎? –