Конвертировать текст в файл .resources - PullRequest
0 голосов
/ 21 октября 2009

Я создал новое решение VS, которое должно содержать измененное подмножество файлов из другого решения. Оба решения имеют пространство имен по умолчанию «Microsoft.Windows.Controls». Сборка из старого решения называется «WPFToolkit», а новая сборка называется «DatePicker». Одним из файлов, которые я скопировал в новое решение, является встроенный ресурс с именем «ExceptionStringTable.txt». Содержание выглядит следующим образом, хотя я не уверен, что это формат:

; DataGrid Selection Commands
DataGrid_SelectAllCommandText=Select All
DataGrid_SelectAllKey=Ctrl+A
DataGrid_SelectAllKeyDisplayString=Ctrl+A

Я установил для файла «Build Action» значение «Embedded Resource», как в исходном решении. Во время выполнения он загружается так:

private static ResourceManager _resourceManager =
    new ResourceManager("ExceptionStringTable", typeof(SR).Assembly);

После выполнения кода

_resourceManager.GetString(id.String)
Я получаю это исключение времени выполнения:

Произошла исключительная ситуация System.Resources.MissingManifestResourceException Сообщение = "Не удалось найти ресурсы, подходящие для указанной культуры или нейтральной культуры. Убедитесь, что \" ExceptionStringTable.resources \ "был правильно встроен или связан с сборкой \" DatePicker \ "во время компиляции, или что требуются все сателлитные сборки загружаются и полностью подписаны. "

Программно перечисляя имена ресурсов сборки, я получаю это:

  DatePicker.g.resources
  Microsoft.Windows.Controls.Resources.ExceptionStringTable.txt
  Microsoft.Windows.Controls.Properties.Resources.resources

Что мне нужно сделать, чтобы файл ExceptionStringTable.txt был преобразован в его эквивалент .resources, а затем встроен в мою сборку таким образом, чтобы uri "ExceptionStringTable" обнаружил его?

1 Ответ

1 голос
/ 06 ноября 2009

Вам необходимо преобразовать txt-файл в файл .resource:

resgen.exe ExceptionStringTable.txt

Это выведет файл ExceptionStringTable.resources. Затем этот файл необходимо добавить как встроенный ресурс

Возможно, вы захотите проверить старый файл проекта, чтобы увидеть, есть ли задача пост-сборки или что-то, что делает это автоматически.

UPDATE:

Самый простой способ для вас - это, вероятно, преобразовать файл .txt в файл .resx:

resgen.exe ExceptionStringTable.txt ExceptionStringTable.resx

А затем добавьте этот файл в качестве встроенного ресурса. После этого вы можете удалить старый файл .txt.

...