Ошибка файла C # resx - PullRequest
       45

Ошибка файла C # resx

6 голосов
/ 05 декабря 2011

Я получаю странную ошибку с моими файлами .resx:

"Недопустимый файл Resx. Ввод ResX недопустим. Не удается найти допустимые теги" reheader "для имен типов чтения и записи ResX. C: \ Documents and Settings \ Users \ Мои документы \ Visual Studio 2010 \ Projects \ dock \ WinForms \ Dock \ strings.resx "

Я заменил некоторые файлы в существующем решении VS 2010 на более старые.из решения VS 2008 большинство файлов работают нормально, но я получаю эту ошибку, и я не знаю, как ее исправить.Если это имеет значение, здесь - исходный код этого файла.

Я использую NET WinForms 4.0, если это имеет значение.

Ответы [ 3 ]

8 голосов
/ 06 декабря 2011
  <resheader name="resmimetype">
    <value>
      text/microsoft-resx
    </value>
  </resheader>

Добавлены дополнительные пробелы. Вам нужно будет удалить его, чтобы он выглядел так:

  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>

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

3 голосов
/ 06 декабря 2011

Хорошо, я решил добавить следующие строки в ваш файл перед / root:

  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>1.3</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>

Я создал новое решение VS2010, добавил новый файл .resx, обычныйКстати и посмотрел на структуру сгенерированного файла.Я нашел эти строки, которые, по-видимому, нужны VS для правильной компиляции вашего файла.

Надеюсь, я помог:)

РЕДАКТИРОВАТЬ:

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

1 голос
/ 22 мая 2015

В моем случае я откуда-то скачал элемент управления.Все исходные файлы были в папке, а файл resx находился в подпапке App_LocalResources.Я на самом деле не заботился ни о чем в части файла resx, я думаю, что это были в основном автоматически сгенерированные пустые теги.Поэтому я просто удалил файл resx.После удаления файла resx элемент управления успешно скомпилирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...