Как исправить ошибку:" не удалось найти информацию о схеме для атрибута/элемента", создав схему
у меня есть приложение 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 первый. Они могут дать лучшие результаты.
ОРИГИНАЛЬНЫЙ ОТВЕТ
Дайте это выстрел:
- в Visual Studio откройте приложение.config или web.конфигурационный файл.
- посмотреть Меню " XML "и выберите " создать схему". Это действие должно создать новый файл под названием "app.xsd " или " web.XSD-файл."
- Сохраните этот файл на свой диск.
- вернитесь в приложение.config или web.config и в редактировать окно щелкните правой кнопкой мыши и выберите Свойства. Оттуда убедитесь, что xsd, который вы только что создали, ссылается на свойство Schemas. Если его там нет, добавьте его.
Это должно привести к тому, что эти сообщения исчезнуть.
Я сохранил свою паутину.xsd в корне моей веб-папки (которая может быть не лучшим местом для нее, но только для демонстрационных целей), и мое свойство Schemas выглядит следующим образом:
"C:\Program файлы (x86)\Microsoft Визуальная Студия 10.0\xml\Schemas\DotNetConfig.xsd "" Web.xsd-файл"
самый быстрый, самый простой и ленивый способ решения проблемы:
- щелкните правой кнопкой мыши значок проекта в обозревателе решений и выберите "Свойства".
- перейдите на вкладку "приложение" и выберите более раннюю целевую платформу .NET.
- Сохранить изменения.
- перейдите на вкладку "приложение" и выберите начальную целевую платформу .NET.
- Сохранить изменения => проблема решена!
XSD входит в EntLib 5 и устанавливается в каталоге схемы Visual Studio. В моем случае его можно найти по адресу:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Xml\Schemas\EnterpriseLibrary.Configuration.xsd
контекст
- Visual Studio 2010
- Корпоративная Библиотека 5
ШАГИ ДЛЯ УДАЛЕНИЯ ПРЕДУПРЕЖДЕНИЙ
- открыть приложение.конфигурация в проекте Visual Studio
- щелкните правой кнопкой мыши в Редакторе XML-документов, выберите "Свойства"
- добавить полное путь к "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, выполните следующее:
- открыть
app.config
или . - перейти к и выберите
Create Schema
.
это вызовет
app#.xsd
(приложение Windows) илиweb#.xsd
(веб-сайт) файл (ы) для создания.
- сохранить сгенерированный 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"