我正在开发一个具有多语言功能的ASP.NET webapp,允许网站管理员在运行时创建新语言。
我想的方法如下:
目前我遇到了第2步的麻烦。我已经实现了复制资源,但随后忽略了这些新资源。我认为这是因为新资源未包含在正在运行的程序集中,因此被忽略。
当我在本地项目中测试以下代码时,我必须手动将新资源添加到解决方案中,然后重新编译才能使其正常工作。
有谁知道如何使这项工作?
这是上述副本的代码。
string _dir = path_ + "App_LocalResources\\\\";
DirectoryInfo _dirInfo = new DirectoryInfo(_dir);
foreach (FileInfo _file in _dirInfo.GetFiles("*en-us.resx")) {
_file.CopyTo(_dir + _file.Name.Replace("en-us", idioma_.Cultura));
}
string _dir2 = path_ + "App_GlobalResources\\\\";
_dirInfo = new DirectoryInfo(_dir2);
foreach (FileInfo _file in _dirInfo.GetFiles("*en-us.resx")) {
_file.CopyTo(_dir2 + _file.Name.Replace("en-us", idioma_.Cultura));
}
非常感谢你。
答案 0 :(得分:0)
创建或编辑资源文件的方式与读取数据的方式不同。 为了创建或编辑资源文件,您应该像创建或编辑XML文件一样,因为资源文件具有特定的结构化XML元素。
也许这个article会帮助你......