Не удалось найти информацию о схеме для элемента 'castle' - PullRequest
2 голосов
/ 13 ноября 2009

Я создаю пользовательский тег в моем файле web.config. Сначала я написал следующую запись в разделе configSections .

<section name="castle"
           type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler,
         Castle.Windsor" />

Но, когда я пытаюсь создать узел замок внутри узла конфигурации , как показано ниже

<castle>
    <components>
    </components>
</castle> 

Я получаю следующее сообщение об ошибке: "* Не удалось найти информацию о схеме для элемента '** castle ' *." "*** Не удалось найти информацию о схеме для элемента '** компоненты ' ***."

Я что-то упустил? Я не могу найти почему. И, если я все равно запускаю приложение, я получаю следующую ошибку " Не удалось найти раздел 'Castle' в файле конфигурации, связанном с этим доменом. "

Ps .// Образец взят из "Pro ASP.NET MVC Framework" / Steven Sanderson / APress ISBN-13 (pbk): 978-1-4302-1007-8 "на странице 99.

Спасибо за помощь

=============================================== =============

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

=============================================== ==============================

Спасибо. Я сделал то, что вы сказали, и у меня нет двух предупреждений. Тем не менее, я сделал большое новое предупреждение:

"Элемент ' configuration ' в пространстве имен ' MyWindsorSchema ' имеет недопустимый дочерний элемент ' configSections ' в пространстве имен ' MyWindsorSchema ' . Список возможных ожидаемых элементов: « включает, свойства, средства, компоненты» в пространстве имен «MyWindsorSchema ». "

1 Ответ

2 голосов
/ 13 ноября 2009

То, что вы получите, не является ошибкой, которая помешает вам запустить ваше приложение. Это всего лишь предупреждение о том, что Visual Studio испускает, потому что он не знает узел castle в файле конфигурации. Вы можете использовать схему для включения intellisense. Загрузите файл Castle Windsor Schema и посмотрите на файл readme.txt внутри. Он говорит вам поместить windsor.xsd куда-нибудь на жесткий диск, а затем сослаться на него в файле конфигурации:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns="MyWindsorSchema"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="MyWindsorSchema file://S:\Common\Windsor\windsor.xsd">

    <configSections>
        <section name="castle" type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler, Castle.Windsor" />
    </configSections>

    <castle>
        <components>
        </components>
    </castle>
</configuration>
...