元素“system.webServer”具有無效的子元素“rewrite”。我應該解決這個問題,如何解決?
對於我在 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%”);
之後嘗試執行腳本,看看是否有幫助。