将资源添加到.resx文件

4

我该如何打开一个已存在的 .resx 文件,写入一些资源并在不丢失原有资源的情况下关闭文件?


默认行为不是已经这样了吗?我通常在编辑.resx文件时不会丢失任何现有资源。您没有使用Visual Studio作为编辑器吗? - Klaus Byskov Pedersen
可能是在C#中修改.resx文件的重复问题 - Klaus Byskov Pedersen
1
我正在使用ResXResourceWriter进行资源写入。 - Javier Marín
可以(虽然可能不是最好的技术)将Resources.resx文件作为XML文档进行处理。https://dev59.com/5nRB5IYBdhLWcg3wQVSV#43431478 - RenniePet
1个回答

9
ResXResourceWriter只写入新节点。如果要保留旧节点,可以像下面这样操作: 以下代码将向resx文件添加一个新节点,并通过迭代旧节点再次写入它们。我相信有更简单的方法可以做到这一点,但我还没想到。
var reader = new ResXResourceReader("filename");
var node = reader.GetEnumerator();
var writer = new ResXResourceWriter("filename");
while (node.MoveNext())
{
    writer.AddResource(node.Key.ToString(), node.Value.ToString());
}
var newNode = new ResXDataNode("name", "value");
writer.AddResource(newNode);
writer.Generate();
writer.Close();

请记得添加使用System.Resources

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接