Как исправить ошибку:" не удалось найти информацию о схеме для атрибута/элемента", создав схему

у меня есть приложение windows forms, написанное на VS2010 с C#, и получить следующие ошибки в :

Message 4   Could not find schema information for the attribute 'name'
Message 8   Could not find schema information for the attribute 'name'
Message 12  Could not find schema information for the attribute 'name'
Message 5   Could not find schema information for the attribute 'serializeAs'
Message 15  Could not find schema information for the element 'CCP_Utility.Settings1'
Message 2   Could not find schema information for the element 'CCP_Utility.Properties.Settings'
Message 3   Could not find schema information for the element 'setting'
Message 1   Could not find schema information for the element 'userSettings'
Message 6   Could not find schema information for the element 'value'

что мне нужно изменить в коде, чтобы исправить эту проблему? Где я могу редактировать то, что в CCP_Utility.Settings1 и CCP_Utility.Properties.Settings ?

здесь app.config код:

<configuration>
<configSections>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
        <section name="CCP_Utility.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        <section name="CCP_Utility.Settings1" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
    </sectionGroup>
  </configSections>
<userSettings>
  <CCP_Utility.Properties.Settings>
    <setting name="SourceDir" serializeAs="String">
      <value />
    </setting>
    <setting name="TargetDir" serializeAs="String">
      <value />
    </setting>
    <setting name="CorpID" serializeAs="String">
      <value />
    </setting>
  </CCP_Utility.Properties.Settings>
    <CCP_Utility.Settings1>
        <setting name="sourceDir" serializeAs="String">
            <value />
        </setting>
        <setting name="targetDir" serializeAs="String">
            <value />
        </setting>
    </CCP_Utility.Settings1>

   </userSettings>
</configuration>

10 ответов


обновление сентябрь 2015
Этот ответ продолжает получать upvotes, поэтому я собираюсь оставить его здесь, так как он кажется полезным для некоторых людей, но, пожалуйста, ознакомьтесь с другими ответами от @reexmonkey и @Pressacco первый. Они могут дать лучшие результаты.

ОРИГИНАЛЬНЫЙ ОТВЕТ
Дайте это выстрел:

  1. в Visual Studio откройте приложение.config или web.конфигурационный файл.
  2. посмотреть Меню " XML "и выберите " создать схему". Это действие должно создать новый файл под названием "app.xsd " или " web.XSD-файл."
  3. Сохраните этот файл на свой диск.
  4. вернитесь в приложение.config или web.config и в редактировать окно щелкните правой кнопкой мыши и выберите Свойства. Оттуда убедитесь, что xsd, который вы только что создали, ссылается на свойство Schemas. Если его там нет, добавьте его.

Это должно привести к тому, что эти сообщения исчезнуть.

Я сохранил свою паутину.xsd в корне моей веб-папки (которая может быть не лучшим местом для нее, но только для демонстрационных целей), и мое свойство Schemas выглядит следующим образом:

"C:\Program файлы (x86)\Microsoft Визуальная Студия 10.0\xml\Schemas\DotNetConfig.xsd "" Web.xsd-файл"


самый быстрый, самый простой и ленивый способ решения проблемы:

  1. щелкните правой кнопкой мыши значок проекта в обозревателе решений и выберите "Свойства".
  2. перейдите на вкладку "приложение" и выберите более раннюю целевую платформу .NET.
  3. Сохранить изменения.
  4. перейдите на вкладку "приложение" и выберите начальную целевую платформу .NET.
  5. Сохранить изменения => проблема решена!

XSD входит в EntLib 5 и устанавливается в каталоге схемы Visual Studio. В моем случае его можно найти по адресу:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Xml\Schemas\EnterpriseLibrary.Configuration.xsd

контекст

  • Visual Studio 2010
  • Корпоративная Библиотека 5

ШАГИ ДЛЯ УДАЛЕНИЯ ПРЕДУПРЕЖДЕНИЙ

  1. открыть приложение.конфигурация в проекте Visual Studio
  2. щелкните правой кнопкой мыши в Редакторе XML-документов, выберите "Свойства"
  3. добавить полное путь к "EnterpriseLibrary.Конфигурация.xsd-файл"

в сторону

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


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


простой: в конструкторе отчетов Visual Studio
1. Откройте отчет в режиме конструктора и удалите набор данных из файла RDLC
2. Откройте Обозреватель решений и удалите фактический (поврежденный) xsd-файл
3. Добавьте набор данных обратно в файл RDLC.
4. Вышеуказанная процедура создаст новый xsd-файл.
5. Более подробная ниже.

в Visual Studio откройте отчет о файле RDLC в режиме конструктора. Нажмите на отчет, а затем выберите вид, а затем отчет Данные из меню верхней строки. Выберите наборы данных, щелкните правой кнопкой мыши и удалите набор данных из отчета. Затем откройте Обозреватель решений, если он еще не открыт в Visual Studio. Найдите XSD-файл (имя должно совпадать с именем набора данных, который вы только что удалили из отчета). Теперь вернитесь назад и щелкните правой кнопкой мыши на наборах данных отчета и выберите Добавить набор данных . Это создаст новый xsd-файл и запишет свойства набора данных в отчет. Теперь ваше сообщение об ошибке исчезнет и любой недостающие данные появятся в отчетах.


когда это случилось со мной (из ниоткуда), я собирался погрузиться в верхний ответ выше, а затем я решил закрыть проект, закрыть Visual Studio, а затем снова открыть все. Проблема решена. Против бага?


У меня было это в VS 2012, где " имя раздела "было изменено в проекте, и я исправил его, удалив" приложение.config "в проекте, затем щелкните правой кнопкой мыши на проекте в "обозревателе решений", выбрав" Свойства", затем" Настройки", затем внесите изменения в один из параметров, сохраните и восстановите. Это создало новое приложение.конфиг с правильной информацией.


эта ошибка возникает, когда ваш проект ссылается на устаревшие схемы. Использовать Visual Studio для создания новых.

в Visual Studio, выполните следующее:

  1. открыть app.config или .
  2. перейти к и выберите Create Schema.

это вызовет app#.xsd (приложение Windows) или web#.xsd (веб-сайт) файл (ы) для создания.

  1. сохранить сгенерированный xsd файл(ы) в корень проекта.
    • открыть свой App.config или web.config файл, щелкните правой кнопкой мыши в текстовом редакторе и выберите Свойства и нажмите ... кнопка рядом со значением для схем.
    • добавить вновь сгенерированный файл(ы) xsd с помощью .
    • клик OK

на не удается найти информацию о схеме для атрибута/элемента ошибка(ы) теперь должна быть решенный.


в моем случае у меня была двусмысленная ссылка в моем коде. Я перезапустил Visual Studio и смог увидеть сообщение об ошибке. Когда я решил эту проблему, другая ошибка исчезла.


большая часть того, что я пишу, уже была покрыта Pressacco, но это специфично для SpecFlow.

я получал это сообщение для <specFlow> элемент и поэтому я добавил specflow.xsd файл в решение ответ (С некоторыми изменениями, чтобы позволить <plugins> элемент).

после этого я (например, Pressacco) щелкнул правой кнопкой мыши в буфере файлов app.config и выбранные свойства, и внутри Schemas, я добавил "specflow.xsd" до конца. Этот все Schemas гласит:

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\xml\Schemas33\DotNetConfig.xsd" "C:\Program Files (x86)\Microsoft Visual Studio 12.0\xml\Schemas\EntityFrameworkConfig_6_1_0.xsd" "C:\Program Files (x86)\Microsoft Visual Studio 12.0\xml\Schemas\RazorCustomSchema.xsd" "specflow.xsd"