2012-02-14 12 views
22

Ho un numero di regole di riscrittura per un sacco di cose che ho fatto in IIS7, come la rimozione di barre finali, URL canonici, lettere minuscole e così via. IIS ha modificato il mio web.config e tutto funziona bene sul sito web, come dovrebbe. Tuttavia, in Visual Studio web.config, l'istruzione <rewrite> di apertura è sottolineata in blu e nella parte inferiore di VS indica che l'elemento 'system.webServer' ha un elemento figlio 'riscrivibile' non valido. Ma così è stato IIS a farlo ... Non l'ho fatto manualmente. Dovrei preoccuparmi di questo errore VS, o dovrei semplicemente andarmene, dato che funziona come dovrebbe funzionare?L'elemento 'system.webServer' ha un elemento figlio 'riscrivibile' non valido. Dovrei risolvere questo problema e come?

Ecco un esempio del mio 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> 

Ci sono circa 5 o 6 altre regole, quindi una chiusura </system.webServer> alla fine.

+1

possibile duplicato del [L'elemento> system.webServer' ha bambino invalido> elemento 'riscrittura'] (http://stackoverflow.com/questions/5309059/the-element- system-webserver-has-invalid-child-element-rewrite) – AakashM

+1

(c'è un ulteriore candidato duplicato collegato da quello) – AakashM

+0

Aakash, non vedo il sistema. Webserver da nessun'altra parte nel mio file web.config. Dovrei cercare qualcos'altro? –

risposta

21

Lo schema aggiornato qui risolto questo per me.

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

Assicurarsi di cambiare il copione di VS2010:

Ruslany ha risposto il 20 ott 2009 alle 19:10 #

@Gene: Questo è essere perché lo schema XML la cache si trova in una diversa posizione in VS2010. Può si apre l'UpdateSchemaCache.js e sostituire questa linea:

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

con questa linea:

var vs9CommonTools = shell.ExpandEnvironmentStrings ( “% VS100COMNTOOLS%”);

Dopo di che provare a eseguire lo script e vedere se questo aiuta.

+1

Grazie per questo suggerimento! Risolto il problema per me. – TMC

+11

Per Visual Studio 2012, utilizzare invece http://blog.vanmeeuwen-online.nl/2013/04/visual-studio-2012-xml-intellisense-for.html –

0

VisualStudio 2015 supporta il tag <rewrite>, ma solo per .Net versioni 4.0 e successive.

Testato con VS2015 aggiornamento 3.

Problemi correlati