2012-03-09 72 views
2

我有一個由多個項目組成的Visual Studio解決方案。在其中一個項目中,我有一個languagelocalization資源文件。我想使用ResourceManager在不同項目的代碼中訪問此文件。通常,在同一個項目中訪問資源文件時,我會用:使用ResourceManager從不同項目訪問資源文件#

ResourceManager rm = new ResourceManager("Namespace.LanguageLocalization", Assembly.GetExecutingAssembly()); 

然而,當我使用在不同的項目相同的代碼,它無法找到資源文件。我再次檢查以確保此項目由資源文件引用,並在類頂部的using語句中聲明該項目。

有什麼建議嗎?

+0

重複[http://stackoverflow.com/questions/2771130/read-resources-from-a-dll-file](http://stackoverflow.com/questions/2771130/read-resources-from-a -dll文件)? – 2012-03-09 20:11:46

+0

這略有不同,幷包含有用的代碼示例。 – 2012-03-09 20:23:54

回答

7

構造函數ResourceManager的第二個參數指定包含資源的程序集。 Assembly.GetExecutingAssembly()將不起作用,因爲它會返回您的其他項目的程序集。相反,通過typeof(APublicClassInTheResourceAssembly).Assembly;資源程序集中的任何類都會執行。