19

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

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

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

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

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

前もって感謝します。

4

5 に答える 5

25

エラーをスローしている行が次のことを確認します。

<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 ファイルの変換に使用されるファイル)は、その行で始まる 必要があります。

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

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

于 2013-11-15T21:25:23.023 に答える
20

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

<?xml version="1.0"?>

そこにあることを確認したら、実際に変換された web.config 内に以下が含まれていないことも確認します。

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

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

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

ウェブ エッセンシャル 2012

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

于 2013-11-13T12:10:12.250 に答える
0

これは古い質問であることは知っていますが、これらの回答はどれもうまくいきませんでした。

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

私の場合、エラーはそのフォルダー{project}.dll.config内のファイルをエラーとしてリストしました。Debug(おそらく 1 つのファイルを削除することもできたでしょうが、全体を削除することで、他の潜在的なエラーも修正される可能性が高くなります。)

私のapp.configファイルは に設定されDo not copyているPropertiesため、ファイルの古いバージョンを置き換えることで、それを変更して問題を解決できる可能性があります。

于 2020-04-06T18:38:06.210 に答える