Подтвердить что ты не робот

Элемент 'system.webServer' имеет недопустимый дочерний элемент 'rewrite'. Должен ли я исправить это и как?

У меня есть ряд правил перезаписи для многих вещей, которые я делал в IIS7, таких как удаление завершающих косых черт, URL-адресов, строчных букв и т.д. IIS изменил мой web.config, и все работает отлично на веб-сайте, как и должно. Но в Visual Studio web.config открывающий оператор <rewrite> подчеркивается синим цветом, а внизу VS указывает, что элемент 'system.webServer' имеет недопустимый дочерний элемент 'rewrite'. Но вот как это сделал IIS... Я не делал этого вручную. Должен ли я быть связан с этой ошибкой VS, или я должен просто оставить ее, поскольку она работает, как она должна работать?

Вот пример моего web.config:

    <system.webServer>
    <rewrite>         <-------------------- this is underlined in squiggly blue
        <rules>
            <rule name="RemoveASPX" enabled="true" stopProcessing="true">
                <match url="(.*)\.aspx" />
                <action type="Redirect" url="{R:1}" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{URL}" pattern="(.*)/default.aspx" negate="true" />
                    <add input="{URL}" pattern="(.*)/admin/*" negate="true" />
                    <add input="{URL}" pattern="(.*)/desktopmodules/*" negate="true" />
                </conditions>
            </rule>

Существует около 5 или 6 других правил, затем закрытие </system.webServer> в конце.

4b9b3361

Ответ 1

Обновленная схема здесь исправила это для меня.

http://ruslany.net/2009/08/visual-studio-xml-intellisense-for-url-rewrite-1-1/

Убедитесь, что вы изменили script для VS2010:

ruslany ответил 20 октября 2009 года в 19:10 #

@Gene: Это связано с тем, что кэш схемы XML находится в другое место в VS2010. Вы можете открыть UpdateSchemaCache.js и замените эту строку:

var vs9CommonTools = shell.ExpandEnvironmentStrings( "% VS90COMNTOOLS%" );

с этой строкой:

var vs9CommonTools = shell.ExpandEnvironmentStrings( "% VS100COMNTOOLS%" );

После этого попробуйте запустить script и посмотрите, помогает ли это.

Ответ 2

VisualStudio 2015 поддерживает тег <rewrite>, но только для .Net версий 4.0 и выше.

Протестировано с обновлением VS2015 3.

Ответ 3

Тег Rewrite является свойством элемента web.config system.webServer, а не элемента system.web. Легкая ошибка.