web-dev-qa-db-fra.com

L'élément 'system.webServer' a un élément enfant 'rewrite' non valide. Dois-je résoudre ce problème, et comment?

J'ai un certain nombre de règles de réécriture pour un grand nombre de choses que j'ai effectuées dans IIS7, telles que la suppression des barres obliques finales, des URL canoniques, des lettres minuscules, etc. IIS a modifié mon Web.config et tout fonctionne correctement sur le site Web, comme il se doit. Mais dans le fichier web.config de Visual Studio, l'instruction <rewrite> d'ouverture est soulignée en bleu et au bas de VS, il est indiqué que l'élément 'system.webServer' a un élément enfant non valide 'rewrite' . Mais voici comment IIS l'a fait ... Je ne l'ai pas fait manuellement. Devrais-je m'inquiéter de cette erreur VS ou devrais-je simplement laisser tel quel, puisque cela fonctionne comme cela devrait fonctionner?

Voici un exemple de mon 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>

Il y a environ 5 ou 6 autres règles, puis un </system.webServer> de clôture à la fin.

23
Jason Weber

Le schéma mis à jour ici corrige cela pour moi.

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

Assurez-vous de changer le script pour VS2010:

ruslany a répondu le 20 octobre 2009 à 19h10 #

@Gene: Cela est dû au fait que le cache de schéma XML est situé dans un fichier emplacement différent dans VS2010. Pouvez-vous ouvrir le fichier UpdateSchemaCache.js et remplacez cette ligne:

var vs9CommonTools = Shell.ExpandEnvironmentStrings (“% VS90COMNTOOLS%” );

avec cette ligne:

var vs9CommonTools = Shell.ExpandEnvironmentStrings ( «% VS100COMNTOOLS%»);

Après cela, essayez d’exécuter le script et voyez si cela vous aide.

22
GEOCHET

VisualStudio 2015 prend en charge la balise <rewrite>, mais uniquement pour les versions .Net 4.0 et supérieures.

Testé avec VS2015 Upgrade 3.

0
Roland