web-dev-qa-db-ja.com

Web構成エラー:認識されない属性 'xmlns:xdt'。属性名では大文字と小文字が区別されることに注意してください

アプリケーションをAppHarborにデプロイしようとしていますが、web.configを変更する方法についての指示に従ったため、インスタンスaufSqlサーバーが使用されます。

ソリューションを実行すると、トピックに記載されているエラーが発生します。

Unrecognized attribute 'xmlns:xdt'. Note that attribute names are case-sensitive.

この問題について私が見つけた唯一のスレッドは これ でした。しかし、ビルド前の行を追加し、objフォルダーを削除して再構築しても、解決策はありませんでした。次の行でこの例外が発生し続けます。

<configuration xmlns:xdt="http://schemas.Microsoft.com/XML-Document-Transform">

前もって感謝します。

15
Marco

変換ファイルの先頭に次の行があることを確認します。

<?xml version="1.0"?>

そこにあることを確認したら、次のが実際の変換内にではないことも確認しますweb.config。

<configuration xmlns:xdt="http://schemas.Microsoft.com/XML-Document-Transform">

web Essentials拡張機能は、デプロイする前にこのようなエラーを解決するために非常に貴重であることがわかりました。

変換ファイルを右クリックしてVisualStudioからプレビューを選択するだけで、問題が発生した場合はローカルで調査/修正できます。

Web Essentials 2012

http://visualstudiogallery.msdn.Microsoft.com/07d54d12-7133-4e15-becb-6f451ea3bea6

15
hutchonoid

エラーをスローしている行を確認します。

<configuration xmlns:xdt="http://schemas.Microsoft.com/XML-Document-Transform">

プライマリweb.configファイルにありません。これは、web.config変換ファイルの行です。基本的に、新しいプロジェクトを作成すると、次のようなソリューションのビルドプロファイルに従って名前が付けられた1つ以上のサブweb.configファイルを含むWeb.configファイルを取得します。

Web.config
    Web.Release.config
    Web.Debug.config

親のweb.configファイルは<configuration>で始まり、xmlns:xdtのものはありません。サブweb.configファイル(親web.configファイルの変換に使用されるファイル)shouldはその行で始まります。

Web.config変換に慣れていない場合、これにより、VSはプロジェクトのビルドタイプ(接続文字列の変更、デバッグのオンとオフの切り替えなどに使用)に応じて構成の要素を自動的に変更できます。

また、Web.config変換の処理手順については、 AppHarborでのブログ投稿 を確認してください。 AppHarborを使用したことがないので、変換を正しく機能させるには、プロジェクトに小さな変更を加える必要があるようです。最後に、次のことを行う必要がある場合があります web.config変換ファイルを確認してください 実際にアプリハーバーへのビルド/デプロイに含まれている

21
Tommy

トミーの変換プロセスの非常に明確な説明により、私は非常に頑固な問題を解決することができました。 Visual Studio2012から公開しようとしたときにエラーが発生したASP.NETMVC4プロジェクトがあります。エラーが発生し続けました

Unrecognized attribute 'xmlns:xdt'. Note that attribute names are case-sensitive.

エラーは、web.configファイルにあると言っていましたが、実際にはありません。それはWeb.Release.Configにありました。 Web.config変換:認識されない属性 'xmlns:xdt'。属性名では大文字と小文字が区別されることに注意してください で推奨される解決策の多くを試しました。

Objディレクトリの内容を削除したところ、1〜2回機能し、その後機能しなくなりました。 Web.Release.Configから属性を削除しました。

xmlns:xdt=http://schemas.Microsoft.com/XML-Document-Transform

しかし、それは私にエラーを与えました。私は試した

This is kind of a workaround, but you may add the following line to your pre-build commands:
del $(ProjectDir)obj\* /F /S /Q

Right click your project > Properties > Build Events > Pre-build.

これは1回は機能しましたが、2回目は機能しませんでした。

上記のソリューションの長いバージョンを試しました

del "$(ProjectDir)obj\*" /F /Q
del "$(ProjectDir)obj\$(ConfigurationName)\AspnetCompileMerge\*" /F /S /Q
del "$(ProjectDir)obj\$(ConfigurationName)\CSAutoParameterize\*" /F /S /Q
del "$(ProjectDir)obj\$(ConfigurationName)\Package\*" /F /S /Q
del "$(ProjectDir)obj\$(ConfigurationName)\ProfileTransformWebConfig\*" /F /S /Q
del "$(ProjectDir)obj\$(ConfigurationName)\TempPE\*" /F /S /Q
del "$(ProjectDir)obj\$(ConfigurationName)\TransformWebConfig\*" /F /S /Q

しかし、それは私に多くのエラーを与えました。サイトの医師は興味深い解決策を持っていましたが、GitHubからプレリリースソフトウェアをダウンロードする必要があり、必要がなければそれを利用したくありませんでした。 http://blogs.thesitedoctor.co.uk/tim/Trackback.aspx?guid=7988f7bc-947c-4134-ab52-af22770b639c 次に、Tommyの記事を見つけたところ、アイデアが浮かびました。これを削除しましたxmlns:xdt=http://schemas.Microsoft.com/XML-Document-Transformこの行から

<configuration xmlns:xdt="http://schemas.Microsoft.com/XML-Document-Transform">

私がそれをしたとき、私は削除しなければなりませんでした

xdt:Transform="RemoveAttributes(debug)"

この行から

<compilation xdt:Transform="RemoveAttributes(debug)" />

これは私のために働いた。プロジェクトを公開/リリースするときにデバッグ属性を削除するように見える変換を削除することはおそらく良い考えではありませんが、問題は解決するようです。

3
Richard Leyton

私はこれが古い質問であることを知っています、しかしこれらの答えのどれも私のために働きませんでした。

うまくいったのは、{project}/bin/Debugフォルダーの内容を削除することでした。

私の場合、エラーにより、そのDebugフォルダー内の{project}.dll.configファイルがエラーとしてリストされました。 (おそらく1つのファイルを削除しただけかもしれませんが、すべてを削除すると、他の潜在的なエラーも修正される可能性が高くなります。)

私のapp.configファイルはPropertiesDo not copyに設定されているので、古いバージョンのファイルを置き換えることで、問題を修正できる可能性があります。

0
computercarguy

Objの下のreleaseand debugフォルダーを削除し、コードを再ビルドしました。それは私のために働いた。

0
vaibhav nag