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