web-dev-qa-db-ja.com

Web.config変換:変換属性が宣言されていません

Web.configファイルを変換してリリースビルドの書き換えルールを追加しようとしていますが、インテリセンスエラーが発生します。

' http://schemas.Microsoft.com/XML-Document-Transform:Transform '属性は宣言されていません。

Web.Release.config

Web.Release.config

エラーなしで問題なくコンパイルできるようです。しかし、パブリッシュしようとすると、ビルドエラーが発生します。

ソースドキュメントの要素が「/configuration/system.webServer/rewrite」に一致しない
' http://schemas.Microsoft.com/XML-Document-Transform:Transform '属性が宣言されていません。

上記の1行目はエラーですが、2行目は警告です。なぜこれが機能しないのですか?

Web.configの先頭には<configuration xmlns:xdt="http://schemas.Microsoft.com/XML-Document-Transform">

UPDATE:

デプロイ時のビルドエラーは、他の原因が原因であることが判明しました。したがって、実際には、それはdoesビルドでき、デプロイできます。したがって、この時点で問題になるのは、このIntellisenseエラー/警告が表示される理由です。

16
Jonathan Wood

transform .configの<rewrite>に対してVS 2013でIntelliSenseを有効にするにはどうすればよいですか? これはIntellisenseの欠陥です。 VS 2017を使用している場合は、「C:\ Program Files(x86)\ Microsoft Visual Studio\2017\Enterprise\Xml\Schemas\1033\DotNetConfig.xsd」を開きます。ファイルの終わり近くにあるrewrite要素を見つけ、<xs:anyAttribute namespace="http://schemas.Microsoft.com/XML-Document-Transform" processContents="strict"/>をrewrite要素の終わりにコピーします。ファイルを保存するとすぐに、Visual Studioは警告を波線で削除しました。

enter image description here

おそらく誰かがVisual Studioチームでこれを提起するべきです。

18
Phil