web-dev-qa-db-ja.com

エラーの修正方法:スキーマを作成して「属性/要素のスキーマ情報が見つかりませんでした」

C#を使用してVS2010で記述されたWindowsフォームアプリケーションがあり、app.configファイルで次のエラーが発生します。

Message 4   Could not find schema information for the attribute 'name'
Message 8   Could not find schema information for the attribute 'name'
Message 12  Could not find schema information for the attribute 'name'
Message 5   Could not find schema information for the attribute 'serializeAs'
Message 15  Could not find schema information for the element 'CCP_Utility.Settings1'
Message 2   Could not find schema information for the element 'CCP_Utility.Properties.Settings'
Message 3   Could not find schema information for the element 'setting'
Message 1   Could not find schema information for the element 'userSettings'
Message 6   Could not find schema information for the element 'value'

この問題を修正するには、コードを変更する必要がありますか? CCP_Utility.Settings1CCP_Utility.Properties.Settingsの内容はどこで編集できますか?

app.configコードは次のとおりです。

<configuration>
<configSections>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
        <section name="CCP_Utility.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        <section name="CCP_Utility.Settings1" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
    </sectionGroup>
  </configSections>
<userSettings>
  <CCP_Utility.Properties.Settings>
    <setting name="SourceDir" serializeAs="String">
      <value />
    </setting>
    <setting name="TargetDir" serializeAs="String">
      <value />
    </setting>
    <setting name="CorpID" serializeAs="String">
      <value />
    </setting>
  </CCP_Utility.Properties.Settings>
    <CCP_Utility.Settings1>
        <setting name="sourceDir" serializeAs="String">
            <value />
        </setting>
        <setting name="targetDir" serializeAs="String">
            <value />
        </setting>
    </CCP_Utility.Settings1>

   </userSettings>
</configuration>
147
Brian McCarthy

2015年9月更新
この回答は引き続き賛成票を得るので、一部の人にとっては役立つと思われるため、ここに残しておきますが、 @ reexmonkey および- @ Pressacco 最初。より良い結果が得られる場合があります。

元の回答
これを試してみましょう:

  1. Visual Studioで、app.configまたはweb.configファイルを開きます。
  2. [XML]メニューに移動し、[スキーマの作成]を選択します。このアクションにより、「app.xsd」または「web.xsd」という新しいファイルが作成されます。
  3. そのファイルをディスクに保存します。
  4. App.configまたはweb.configに戻り、編集ウィンドウで右クリックしてプロパティを選択します。そこから、生成したxsdがSchemasプロパティで参照されていることを確認します。存在しない場合は追加します。

それにより、それらのメッセージが消えます。

Web.xsdをWebフォルダーのルートに保存しました(これは最適な場所ではないかもしれませんが、デモンストレーションのみを目的としています)。Schemasプロパティは次のようになります。

「C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\xml\Schemas\DotNetConfig.xsd」「Web.xsd」

162
rsbarro

問題を解決するための最も迅速で簡単な遅延方法:

  1. ソリューションエクスプローラーでプロジェクトアイコンを右クリックし、[プロパティ]を選択します。
  2. [アプリケーション]タブに移動し、以前の.NETターゲットフレームワークを選択します。
  3. 変更内容を保存。
  4. [アプリケーション]タブに移動し、最初の.NETターゲットフレームワークを選択します。
  5. 変更を保存=>問題が解決しました!
208
reexmonkey

XSDはEntLib 5に含まれており、Visual Studioスキーマディレクトリにインストールされます。私の場合、次の場所にあります。

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Xml\Schemas\EnterpriseLibrary.Configuration.xsd

コンテキスト

  • Visual Studio 2010
  • エンタープライズライブラリ5

警告を削除する手順

  1. visual Studioプロジェクトでapp.configを開きます
  2. xMLドキュメントエディタで右クリックし、[プロパティ]を選択します
  3. 「EnterpriseLibrary.Configuration.xsd」に完全修飾パスを追加します

サイド

これらの「エラーリスト」「メッセージ」(「要素のスキーマ情報が見つかりませんでした」)は、app.configファイルを開いたときにのみ表示されることを繰り返す価値があります。 「すべてのドキュメントを閉じて」コンパイルすると...メッセージは報告されません。

21
Pressacco

関連するモジュールに構文エラーがあり、コンパイルされていないことがわかりました-コンパイラーはそれを教えてくれませんでした。 app.configに関するエラーを教えてくれました。 VS2010。構文エラーを修正したら、すべてが順調でした。

1
flobadob

シンプル:Visual Studioレポートデザイナー
1。デザインモードでレポートを開き、RDLCファイルからデータセットを削除します
2。ソリューションエクスプローラーを開き、実際の(破損した)XSDファイルを削除します
3。データセットをRDLCファイルに追加し直します。
4。上記の手順により、新しいXSDファイルが作成されます。
5。詳細は以下です。

Visual Studioで、デザインモードでRDLCファイルレポートを開きます。レポートをクリックしてから、[表示]を選択し、一番上の行メニューから[レポートデータ]を選択します。 [データセット]を選択し、右クリックしてレポートからデータセットを削除します。次に、ソリューションエクスプローラーを開きます(Visual Studioでまだ開いていない場合)。 XSDファイルを見つけます(レポートから削除したばかりのデータセットと同じ名前である必要があります)。戻って、レポートデータのデータセットをもう一度右クリックし、[データセットの追加]を選択します。これにより、新しいXSDファイルが作成され、データセットプロパティがレポートに書き込まれます。これで、エラーメッセージは消え、不足しているデータはレポートに表示されます。

1
Greg T.

このエラーは、プロジェクトが古いスキーマを参照している場合に発生します。 Visual Studioを使用して新しいものを生成します。

Visual Studioで、次を実行します。

  1. app.configまたはweb.configファイルを開きます。
  2. XMLメニューに移動し、Create Schemaを選択します。

これにより、app#.xsd(Windowsアプリ)またはweb#.xsd(ウェブサイト)ファイルが生成されます。

  1. 新しく生成されたxsdファイルをプロジェクトのルートに保存します。
    • App.configまたはweb.configファイルを開き、テキストエディターで右クリックしてプロパティを選択し、スキーマの値の横にある...ボタンをクリックします。
    • Addボタンを使用して、新しく生成されたxsdファイルを追加します。
    • OKをクリックします

属性/要素のスキーマ情報が見つかりませんでしたエラーが解決されました。

0

これが私に(どこからともなく)起こったとき、私は上記の一番上の答えに飛び込もうとしていたので、プロジェクトを閉じ、Visual Studioを閉じてから、すべてを再度開くと思いました。問題が解決しました。 VSバグ?

0
Rockin Raul

プロジェクトの「セクション名」が変更されたVS 2012でこれを修正しました。プロジェクトの「app.config」を削除し、「ソリューションエクスプローラー」でプロジェクトを右クリックして「プロパティ]、[設定]の順にクリックし、設定の1つを変更して、保存して再構築します。これにより、正しい情報を持つ新しいapp.configが作成されました。

0
Davy C

私の場合、コードにあいまいな参照がありました。 Visual Studioを再起動すると、エラーメッセージが表示されました。これを解決すると、他のエラーは消えました。

0
Sofia Khwaja