我正在尝试使用多语言文件开发示例应用程序。
我使用:Windows 7 64 位和 Visual Studio 2012 Express。
我在网上阅读了一些教程,并创建了一个示例应用程序。
在我的 Debug 目录中,我为语言文件创建了文件夹:'en' 和 'pl'
我在这些目录和主目录中创建了文本资源文件,所以我的文件结构是:
lang.txt
lang.resouces
multilang.resources.dll
multilang.exe
-en
--lang.en.txt
--lang.en.resources
--multilang.resources.dll
-pl
--lang.pl.txt
--lang.pl.resources
--multilang.resources.dll
我写了一个 .bat 文件来嵌入卫星程序集做我的应用程序 resgen lang.txt al.exe /t:lib /embed:lang.resources /culture:pl-PL /out:multilang.resources.dll
resgen en/lang.en.txt
al.exe /t:lib /embed:en/lang.en.resources,multilang.en.resources /culture:en /out:en/multilang.resources.dll
resgen pl/lang.pl.txt
al.exe /t:lib /embed:pl/lang.pl.resources,multilang.pl.resources /culture:pl /out:pl/multilang.resources.dll
在我的应用程序中,我使用 ResourceManager
_rm = new ResourceManager("multilang", Assembly.GetExecutingAssembly());
以及获取文本的 GetString 方法
this._rm.GetString(stringFromRm);
当我在 .NET 4.5 框架中编译我的应用程序时它工作正常,但是当我将项目属性中的目标框架更改为 .NET 2.0 时,我总是得到这个异常:
System.Resources.MissingManifestResourceException
我的应用程序必须在 Windows XP 上运行,因此它必须适用于早期的 .NET Framework 版本。
有人可以告诉我必须更改什么才能在 .NET Framework 2.0 上运行我的应用程序吗?