我在.NET 4.0項目中嵌入了字符串資源:Strings.resx和Strings.de.resx。爲什麼在單元測試中找不到resx文化?
在生產代碼正確本地化字符串檢索,取決於Strings.Culture的值:
Strings.Culture = new Culture("de");
string deString = Strings.Welcome; // 'Willkommen'
Strings.Culture = new Culture("en");
string enString = Strings.Welcome; // 'Welcome'
但在我單元測試代碼(使用MSTest的)從「字符串的字符串。 de.resx'永遠不會被返回 - 我只能從Strings.resx獲取字符串,無論Strings.Culture
或Threads.CurrentThread.CultureUICulture
的值如何。
任何人都可以幫忙嗎?
這通常意味着衛星組件不會被部署。你使用什麼測試框架?對於MSTest,一切似乎都已正確部署。如果不是,可以使用DeploymentItemAttribute。 – 2012-03-02 09:49:00
我正在使用MSTest(相應更新的問題)。 resx文件在正在測試的程序集中具有Build Action ='Embedded Resource'。我應該如何使用DeploymentItemAttribute? – GarethOwen 2012-03-02 12:03:54