Исправление: "Конфигурация" глобального элемента уже объявлена
Я использовал второе решение
Как разрешить "Не удалось найти информацию схемы для элемента/атрибута <xxx> " ?
т.е. создал XSD с кнопкой для создания схемы. Я изменил таблицу стилей в app.config на app.xsd, но теперь я получаю предупреждение:
Конфигурация глобального элемента 'уже объявлена в app.xsd
Даже при изменении имени отображается предупреждение.
У кого-нибудь есть решение для этого?
Ответы
Ответ 1
У меня была аналогичная проблема с вопросом, о котором вы говорите, я следовал этим инструкциям, и все было в порядке. Убедитесь, что EnterpriseLibrary.Configuration.xsd
находится в %Program Files%\Microsoft Visual Studio [version] \Xml\Schemas\
в первую очередь, а затем выполните следующее:
Корпоративная библиотека устанавливает схему в Visual Studio, которая предоставляет IntelliSense® для редактирования файлов конфигурации Enterprise Library в редакторе XML Visual Studio. Вы должны включить схему, прежде чем сможете ее использовать.
Чтобы включить схему конфигурации корпоративной библиотеки
-
Откройте файл конфигурации в Visual Studio, дважды щелкнув его в обозревателе решений.
-
В меню XML выберите "Схемы...", чтобы открыть диалоговое окно "Схемы XML".
-
Найдите схему с именем EnterpriseLibrary.Configuration.xsd. Это устанавливается автоматически. Однако, если он не отображается в списке, нажмите "Добавить" и перейдите в папку "% Program Files" %\Microsoft Visual Studio [версия]\Xml\Схемы \, затем выберите "EnterpriseLibrary.Configuration.xsd" и нажмите "Открыть".
-
Измените значение в столбце Использовать эту схему. Затем нажмите "ОК".
Ссылка на статью здесь, надеется, что это поможет
Ответ 2
Перезагрузка не работала для меня, поэтому я хотел бы поделиться тем, что работало.
Во-первых, я просто обновился до Windows 8. Эта проблема не возникала до этого. И эта проблема произошла только в одном из моих файлов app.config. Поэтому я решил сравнить проблемный app.config с хорошим. В Visual Studio с открытием app.config я перешел к Xml -> Schemas
. Я заметил, что в хорошем конфиге только три из этих схем были проверены. У плохого были те же три проверенных, плюс DotNetConfig.xsd. После того, как я изменил столбец Use
на автоматический, для DotNetConfig.xsd проблема исчезла.
![enter image description here]()
![enter image description here]()
Ответ 3
Моя проблема была в том, что я перешел из .Net 4.5 в .Net 4.0. Чтобы решить проблему, я переключил все отмеченные схемы на автоматический.
Ответ 4
С симптомами, описанными в вопросе, и с использованием Visual Studio 2013 (обновление 4), я мог видеть в диалоговом окне XML Schemas [sic], что и DotNetConfig.xsd
, и DotNetConfig40.xsd
были выбранный для использования.
Я использую проект .NET Framework 4.0.
Два файла XSD конфликтуют друг с другом, каждый из которых определяет одни и те же элементы, вызывая выброс предупреждений.
Эти файлы схемы содержатся в папке %programfiles(x86)%\Microsoft Visual Studio 12.0\xml\Schemas\
.
DotNetConfig.xsd
находится в подпапке 1033
и выглядит более новой, более полной версией.
Независимо от того, какие настройки я выбрал в XML-схемах, я не мог отменить выбор или удалить DotNetConfig40 или DotNetConfig. Я попробовал " Удалить" и изменил параметр "Использовать" с " Использовать эту схему" на " Автоматически", а затем " Не выполнять используйте эту схему".
Независимо от того, что было выбрано, для любого файла, когда я вернусь в диалог, оба будут выбраны для использования. Я также попробовал трюк перехода в другую строку, прежде чем нажимать " OK" безрезультатно.
Наконец, я переименовал файл DotNetConfig40.xsd
в DotNetConfig40 DO NOT USE.xsd
, чтобы предотвратить его загрузку. Это сразу же решило проблему.
Я не доволен необходимостью этого и беспокоюсь, если у него будет нежелательный побочный эффект с другими проектами. Я обновлю это сообщение своими результатами.
Ответ 5
Я тоже боролся с этим. Оказывается, моя версия проблемы возникла из скрытого файла {PROJECTNAME}.SUO
, созданного Visual Studio.
Я предполагаю, что VS будет кэшировать ассоциации схемы XSD в этом файле. Предупреждения появились после того, как я изменил целевую структуру, и они исчезли после того, как я удалил файл SUO и перезапустил VS.
Ответ 6
Эта проблема исправлена после того, как я закрыл файл в редакторе, который вызывал эти предупреждения и перекомпилировал.
Ответ 7
После перезагрузки системы проблема решена, то есть я больше не получаю никаких предупреждений, связанных с этой схемой.
Итак, кажется, что перезагрузка (и, возможно, некоторое неявное восстановление / reset удалила предупреждение).
Ответ 8
Использование Visual Studio 2015 Community Edition - создание web.xsd в корневой папке моего проекта и добавление его в список схемы очистило все, кроме одного, предупреждения,
Глобальная конфигурация элемента уже объявлена.
Закрытие файла web.config в текстовом редакторе и восстановление проекта очистили это предупреждение.
Ответ 9
Для меня я заметил, что у меня есть куча XML Schemas
которые были продублированы, я просто пометил как Don't Use
все те, которые не были связаны с Visual Studio 2017. Проблема сразу исчезла
Ответ 10
Я заметил эту проблему с моим VS2017.
Изменение DotNetConfig.xsd для использования "Автоматически" решило проблему.
![enter image description here]()
Ответ 11
Necromancing: обновление 2019 с Visual Studio 2017
Я пытался делать то, что предлагали другие:
- Я попытался перезагрузить систему: не сработало.
- открыть App.Config
- Меню: XML - Схемы...
- Посмотрите, что есть несколько DotNetConfigXX.csd(XX либо эмоция, либо номер)
- Я пытался установить их автоматически или "не использовать эту схему"
- Я пытался удалить дубликаты схемы
Все это не сработало.
Однако решение OLEG, как описано здесь, сработало.
Все, что мне нужно было сделать, это заменить следующую часть из всех используемых файлов DotNetConfigXX.xsd(XX - это пустое число или число) следующим кодом
<xs:element name="startup" vs:help="configuration/startup"
...
</xs:element>
Заменить:
<xs:element name="startup" vs:help="configuration/startup">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="requiredRuntime" vs:help="configuration/startup/requiredRuntime">
<xs:complexType>
<xs:attribute name="version" type="xs:string" use="optional" />
<xs:attribute name="safemode" type="xs:boolean" use="optional" />
</xs:complexType>
</xs:element>
<xs:element name="supportedRuntime" minOccurs="1" maxOccurs="unbounded" vs:help="configuration/startup/supportedRuntime">
<xs:complexType>
<xs:attribute name="version" type="xs:string" use="optional" />
<xs:attribute name="sku" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute name="useLegacyV2RuntimeActivationPolicy" type="xs:boolean" use="optional" />
<!-- see http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx -->
</xs:complexType>
</xs:element>
Не забудьте сделать резервную копию ваших оригинальных файлов .XSD!
После перезапуска visual studio ошибки пропали.