web-dev-qa-db-ja.com

要素「system.webServer」に無効な子要素「rewrite」があります。これを修正する必要がありますか?

末尾のスラッシュ、正規URL、小文字のレタリングなどを削除するなど、IIS7で行った多くのことについて多くの書き換えルールがあります。 IISは私のweb.configを変更し、すべてが正常にWebサイトで正常に機能します。ただし、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> 最後に。

23
Jason Weber

ここで更新されたスキーマは私のためにこれを修正しました。

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%");

その後、スクリプトを実行して、それが役立つかどうかを確認してください。

22
GEOCHET

VisualStudio 2015は<rewrite>タグをサポートしていますが、.Netバージョン4.0以降のみをサポートしています。

VS2015 Upgrade 3でテスト済み。

0
Roland

Rewriteタグは、system.web要素ではなく、web.config system.webServer要素のプロパティです。簡単な間違い。

0
James Dickinson