Я не понимаю, в чем проблема. Пожалуйста, проверьте фрагменты моего кода. Каждый раз, когда я добавляю данные ресурса, он очищает последние данные и записывает новые записи в .resx. Например, в Applications.resx есть ключ «MyApp1» со значением «MyApp1Path». В следующий раз, если я добавлю ключ «MyApp2» со значением «MyApp2Path», я замечаю, что {«MyApp1», «MyApp1Path»} не существует.
//Adding Application in Applications List
ResourceHelper.AddResource("Applications", _appName, _appPath);
Вот класс ResourceHelper:
public class ResourceHelper
{
public static void AddResource(string resxFileName, string name, string value)
{
using (var resx = new ResXResourceWriter(String.Format(@".\Resources\{0}.resx", resxFileName)))
{
resx.AddResource(name, value);
}
}
}





Да, это ожидается, ResXResourceWriter просто добавляет узлы, но не добавляет.
Однако вы можете просто прочитать узлы и добавить их снова.
public static void AddResource(string resxFileName, string name, object value)
{
var fileName = $@".\Resources\{resxFileName}.resx";
using (var writer = new ResXResourceWriter(fileName))
{
if (File.Exists(fileName))
{
using (var reader = new ResXResourceReader(fileName))
{
var node = reader.GetEnumerator();
while (node.MoveNext())
{
writer.AddResource(node.Key.ToString(), node.Value);
}
}
}
writer.AddResource(name, value);
}
}
Отказ от ответственности, непроверено и, вероятно, нуждается в проверке ошибок