Intellisense для пользовательской конфигурации разделяют проблему с пространствами имен

Я только что прокрутил раздел пользовательской конфигурации, создал сопроводительный документ схемы для Intellisense и добавил его к свойству Web.config's Schemas согласно ответу Michael Stum на другой подобный вопрос.

К сожалению, и возможно из-за меня создающий XSD вручную с ограниченными знаниями, Intellisense полагается xmlns атрибут, указывающий на мое пространство имен файла XSD, присутствующее в пользовательском элементе конфигурации. Однако при выполнении проекта я получаю Нераспознанный атрибут 'xmlns'. Обратите внимание, что названия атрибута являются чувствительной к регистру ошибкой.

Я мог, вероятно, просто изменить свой файл XSD для определения xmlns атрибут для того элемента, однако я задаюсь вопросом, является ли это просто лейкопластырем, прикрепляют к большей проблеме. Я должен признаться, что у меня нет очень хорошего понимания пространств имен XML, таким образом, это могло бы быть возможностью разъяснить мне относительно нескольких вещей.

Вот атрибуты для моего корня файла XSD xs:schema элемент:


    ...

И при создании элемента в файле Web.config, Visual Studio 2008 автоматически добавляет:


Поэтому имейте, я неправильно понял значение xs:schema атрибуты вообще или действительно ли надлежащее решение так просто, как это кажется?

5
задан Community 23 May 2017 в 11:47
поделиться

1 ответ

В вашей схеме необходимо будет опустить атрибут targetNamespace . Фактически, это поместит содержимое схемы в пространство имен по умолчанию.

Это необходимо, потому что система конфигурации .NET никогда не разрешала элементам находиться в пространстве имен.

5
ответ дан 14 December 2019 в 19:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: