ResXResourceWriter的正确使用方法

资源写入工具类:ResXResourceWriter,在使用和过程中,一定要按照一定的顺序来写入,否则就写入文件不能使用ResXResourceReader来进行解析

正确的解析方式是,首先加图片或图标资源,再加入字符串资源,下面的代码,就是正确的方式:

 1:  var filename = string.Format("{0}Resources.resx", floder);
 2:              using (var writer = new ResXResourceWriter(filename))
 3:              {
 4:                  if (ImageResources.Count > 0 || IconResources.Count > 0)
 5:                  {
 6:                      foreach (var entity in ImageResources)
 7:                      {
 8:                          writer.AddResource(entity.Name, entity.Value);
 9:                      }
10:   
11:                      foreach (var entity in IconResources)
12:                      {
13:                          writer.AddResource(entity.Name, entity.Value);
14:                      }
15:                  }
16:   
17:                  CreateResource(writer, le);
18:              }

如果不执行那样的顺序,就会出现,在生成的资源文件文件不存在”<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />”

即使在写入图片资源时,加入了

1:  writer.AddAlias()

来手动加入,也不会成功。

这个问题比较隐蔽,不太容易发现。

Bookmark and Share
原文地址:https://www.cnblogs.com/LifelongLearning/p/1777601.html