一个资源文件的资源添加问题

yuanguian 2003-07-17 12:37:16
第一次我这样添加资源文件:
ResourceWriter rw = new ResourceWriter ( "User.resources");
rw.AddResource("user0","a");
rw.Generate();
rw.Close();

然后用
ResourceManager rm=new ResourceManager("NetOA.bin.Debug.User", Assembly.GetExecutingAssembly());
MessageBox.Show((rm.GetString("user0")).ToString());
来读取,没问题。然后我再次添加:

ResourceWriter rw = new ResourceWriter ( "User.resources");
rw.AddResource("user1","a");
rw.Generate();
rw.Close();

同样用
ResourceManager rm=new ResourceManager("NetOA.bin.Debug.User", Assembly.GetExecutingAssembly());
MessageBox.Show((rm.GetString("user0")).ToString());
来取的时候,user0的资源竟然不在了!谁能告诉小弟有什么办法能让user1添加进去而不是把user0覆盖掉?


...全文
75 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
AhBian 2003-07-17
  • 打赏
  • 举报
回复
关注?
yuanguian 2003-07-17
  • 打赏
  • 举报
回复
谢谢各位,由于上面的要求,现在不用资源文件了
散分!
yuanguian 2003-07-17
  • 打赏
  • 举报
回复
我像楼上说的那样做了,但是新的问题又来了!写进去过后,非要重新生成项目才能读到更新的资源文件的信息,否则,读取的是没有更新的资源文件信息!或者,我必须在程序里面随便添点删点什么东西才能读取更新后的,为什么?!?!
Montaque 2003-07-17
  • 打赏
  • 举报
回复
没有办法,改为append好像也一样。你可以先读过来,然后写进去。
AhBian 2003-07-17
  • 打赏
  • 举报
回复
可能直接用文件名作参数构造 ResourceWriter 实例对象时创建的文件流不是 Append 模式,所以在添加资源后写入流时会将以前的资源覆盖掉。
AhBian 2003-07-17
  • 打赏
  • 举报
回复
试试用以下代码代替你原来的创建 ResourceWriter 对象的语句:

FileStream fs = new FileStream("User.resources", FileMode.Append, FileAccess.ReadWrite);
ResourceWriter rw = new ResourceWriter(fs);

...

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧