Как программно добавить сгенерированный файл resx в мой cproj - PullRequest
1 голос
/ 03 июня 2019

Я пытаюсь добавить в свой проект файл resx, сгенерированный кодом.

В настоящее время я делаю инструмент для перевода для моей компании. Этот инструмент собирает все элементы, которые необходимо перевести, и создает файл перевода. Затем при переводе он читает новый файл и создает необходимые файлы resx для каждого модуля. Однако я не могу правильно добавить файлы resx в проект.

Я использую ResXResourceWriter для создания файла и добавления всех необходимых элементов ресурса. Затем я пытаюсь добавить его в проект с помощью Microsoft.Build.Evaluasion.Project.AddItem. Но по какой-то причине файл добавлен неправильно.

Пример кода для добавления файла в проект

  var p = OpenProject(project.FullName);
  p.AddItem("Resources", newFileLocation);
  p.Save();

Пример кода создания файла resx

using (var newFile = new ResXResourceWriter(newFileLocation))
{
   for (var i = 0; i < baseResxFileXmlNodes.Count; i++)
   {
      var nodeName = baseResxFileXmlNodes[i].Attributes["name"].Value;
      var resxDataNode = new ResXDataNode(nodeName, translationDictionary[nodeName]);
      newFile.AddResource(resxDataNode);
   }
}
UpdateProject(fileInfo, newFileLocation);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...