Как разрешить ошибку «Неправильный файл Resx… Не удается найти допустимые теги» resheader «для имен типов чтения и записи ResX». Ошибка компилятора?

Я получаю дюжину "Неверный файл Resx. Ввод ResX недопустим. Не удается найти допустимые теги" reheader "для имен типов чтения и записи ResX". msgstr при попытке скомпилировать.

У меня была эта проблема раньше, как видноВот.

На этот раз, однако, это проявляется немного по-другому.

Во-первых, вот что я сделал: я выбрал пункт контекстного меню «Отменить ожидающие изменения» для нескольких файлов в проекте. Для каждого из них связанный с ними файл * .resx явно поврежден.

Если дважды щелкнуть первую ошибку в списке ошибок, я попаду сюда в файл .resx:

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

Дважды нажав на следующую ошибку, я попаду сюда в файл .resx:

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

Это закомментированный пояснительный раздел; в немного контекста:

<!-- 
    Microsoft ResX Schema 

    Version 1.3

    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.

    Example:

    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">1.3</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1">this is my long string</data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        [base64 mime encoded serialized .NET Framework object]
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        [base64 mime encoded string representing a byte array form of the .NET Framework object]
    </data>
  . . .

Все 10 других 2-х нажатий выводят меня прямо на первую строку в файле .resx, а именно:

<?xml version="1.0" encoding="utf-8"?>

Ответ Ганса Пассанта на тот же вопрос от другого котаВот указывает на необходимость удаления лишних пробелов; Я не вижу такого лишнего пробела в моих файлах .resx, хотя ...

Что мне нужно сделать, чтобы исправить эти искаженные файлы .resx?

ОБНОВИТЬ

Может случиться так, что те первые два местоположения, где ошибочная msg, кажется, указывают, являются поддельными / вводящими в заблуждение; они могут быть просто местами в файлах, в которые я ранее поместил курсор (странно, что сообщение об ошибке отправляется туда, а не в предполагаемое место проблемы, хотя ...)

ОБНОВЛЕНИЕ 2

Согласно сообщению об ошибке, в сбойных файлах * .resx отсутствуют допустимые теги читателя / записывающего устройства. Тем не менее, эти теги / декларации существуют в файлах * .resx. Это выглядит так:

  <resheader name="reader">
    <value>System.Windows.Forms.Design.CFResXResourceReader, System.CF.Design, 
    Version=7.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </resheader>
  <resheader name="writer">
    <value>System.Windows.Forms.Design.CFResXResourceWriter, System.CF.Design, 
    Version=7.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </resheader>

.... но, что интересно, (если вы вообще неуравновешенны)делать отличаются от объявлений читателей и писателей RESX в других (компилируемых) формах, которые выглядят так:

<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, 
    Culture=neutral,PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, 
    Culture=neutral,PublicKeyToken=b77a5c561934e089</value>
</resheader>

Если я заменю декларации устройства чтения / записи RESX в некомпилируемых формах другим форматом (IOW, я заменяю »System.Windows.Forms.Design.CFResXResourceReader, System.CF.Design, Version = 7.0.5000.0" с "System.Resources.ResXResourceReader, System.Windows.Forms, версия = 2.0.0.0msgstr "(и используйте разные токены открытого ключа), он компилируется!

НО (и это большой, но [t] (подумайте Берта)), машина, на которой компилируется этот проект, является ПК (конечно), но целевой машиной, на которой будет работать .exe, является Compact Framework ( портативное устройство. Итак, будет ли замена «CF» более общим словарным выражением RESX проблематичной, как только .exe будет перемещен с компьютера на точку, чтобы указать на переносное устройство Windows CE?

Ответы на вопрос(0)

Ваш ответ на вопрос