Asp.net

元素“system.webServer”具有無效的子元素“rewrite”。我應該解決這個問題,如何解決?

  • February 14, 2012

對於我在 IIS7 中所做的許多事情,我有許多重寫規則,例如刪除尾部斜杠、規範 URL、小寫字母等。IIS 更改了我的 web.config,並且網站上的一切正常,就像它應該的那樣。但是在 Visual Studio web.config 中,開頭的<rewrite>語句用藍色下劃線標出,在 VS 的底部,它說元素 ‘system.webServer’ has invalid child element ‘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>

此處更新的架構為我解決了這個問題。

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

確保更改 VS2010 的腳本:

ruslany 於 2009 年 10 月 20 日下午 7:10 回复#

@Gene:這是因為 XML 模式記憶體位於 VS2010 中的不同位置。您能否打開 UpdateSchemaCache.js 並替換此行:

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

用這條線:

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

之後嘗試執行腳本,看看是否有幫助。

引用自:https://stackoverflow.com/questions/9280803