構成要素が宣言されていません


85

Visual Studio 2012 ExpressEditionでいくつかの作業を行っています。次のようにApp.configXMLファイルを追加しました。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>

最初に発生するのは、「 'configuration'要素が宣言されていません」という警告が表示されることです。なぜこれが起こっているのか誰かが知っていますか?これが解決されるまで、要素は内部で宣言できないようです。

ありがとう!

これはXML全体です。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="Version" value="779" />
<add key="TimeOut" value="60000" />
<add key="LogFileName" value="Log.txt" />
<!-- your Developer Id with eBay -->
<add key="Environment.DevId" value="" />
<!-- your Application Id with eBay -->
<add key="Environment.AppId" value="" />
<!-- your Application Certificate with eBay -->
<add key="Environment.CertId" value="" />
<!-- API Server URL -->
<!-- For production site use: https://api.ebay.com/wsapi -->
<!-- For Sandbox use: https://api.sandbox.ebay.com/wsapi -->
<add key="Environment.ApiServerUrl" value="https://api.sandbox.ebay.com/wsapi" />
<!-- EPS Server URL -->
<!-- For production site use: https://api.ebay.com/ws/api.dll"/-->
<add key="Environment.EpsServerUrl" value="https://api.sandbox.ebay.com/ws/api.dll" />
<!-- eBay Signin URL -->
<!-- For production site use: https://signin.ebay.com/ws/eBayISAPI.dll?SignIn -->
<!-- https://signin.sandbox.ebay.com/ws/eBayISAPI.dll?SignIn -->
<add key="Environment.SignInUrl" value="https://signin.sandbox.ebay.com/ws/eBayISAPI.dll?SignIn" />
<!-- ViewItem URL -->
<!-- For production site use: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item={0} -->
<add key="Environment.ViewItemUrl" value="http://cgi.sandbox.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item={0}" />
<!-- token is for both API server and EPS server -->
<add key="UserAccount.ApiToken" value="" />
<!-- eBay site ID -->
<add key="UserAccount.eBayUserSiteId" value="0" />
<add key="logexception" value="true"/>
<add key="logmessages" value="true"/>
<add key="logsdkmessages" value="true"/>
<add key="logsdk" value="true"/>
<add key="logfile" value="Log.txt"/>
<!-- Rule Name-->
<add key="RuName" value=""/>
<!-- Set this if you access eBay API server behind a proxy server-->
<add key="Proxy.Host" value =""/>
<add key="Proxy.Port" value =""/>
<!-- set proxy server username/password if necessary-->
<add key="Proxy.Username" value=""/>
<add key="Proxy.Password" value=""/>


4
DotNetConfig.xsdファイルがどのように見えるかを確認する必要があるかもしれません。C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Xml \ Schemas
Adriaan Stander 2012

正確なエラーは何ですか、この警告の原因は何ですか?フルスタックフレームでお願いしますか?
Simon Mourier 2013年

それは私のVS2012Expressエディションで動作します。
マーティン・ムルダー2013年

1
これはインテリセンスの問題です。まったく新しいコンソールアプリケーションでApp.configを開くと、<configuration>要素に青色の下線が引かれ、「 'configuration'要素が宣言されていません」というエラーが表示されますが、<appsettings>セクションを追加することはできます。その中の設定とConfigurationManagerクラスでそれらを参照しますが、appsettingsと<add key ...アイテムを追加すると、インテリセンスは表示されません。純粋にインテリセンスの問題で、より多くの情報が必要だったので、その恩恵を受けました。
seekerOfKnowledge 2013年

1
間違った答えが選ばれました。
JJS 2016年

回答:


22

私も同じ問題を抱えていました。これはエラーではなく、単なる警告です。したがって、アプリケーションは引き続きコンパイルする必要があります。次の簡単な設定ファイルを使用しましたが、警告が表示されます。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime 
             version="v4.0"sku=".NETFramework,
             Version=v4.5"/>
    </startup>
</configuration>

これはMSDNWebサイトで提起された問題ですが、十分に解決されていないようです。以下のリンクを参照してください。

http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvcs/thread/18a1074f-668f-4fe3-a8d9-4440db797439



340

XMLメニュー(Visual Studioのトップメニュー項目)に移動しスキーマを選択してDotNetConfig.xsdを見つけ、[このスキーマ使用する]を選択します

XML-スキーマ

XMLスキーマの編集

あなたの問題は確実に解決します


6
これが答えになるはずです。この回答が投稿された日付('15年8月)を見ると、質問の時点('12年9月)にこの回答が存在したかどうかはわかりません。(しましたか?)
Ian

1
これだけではうまくいきませんでした。これを考慮してください:stackoverflow.com/questions/4355278/…–
マット

2
この回答により、Visual Studio 2017の問題が解決しました。とにかく、.configファイルの作成時にDotNetConfig.xsdがデフォルトで使用されない理由がわかりません。
ゲール人

ラーマクリシュナあなたは男だ!完璧に動作しました。アプリケーションはまだコンパイルされますが、迷惑な警告メッセージは表示されなくなりました。
puffgroovy 2017

これは機能します。私のソリューションで気付いた詳細は、.netバージョン4.5の場合、DotNetConfig.xsdスキーマがデフォルトで選択されていますが、.netバージョン4.6の場合、この回答で提案されている@RamakrishnaとしてDotNetConfig.xsdを選択する必要があります。ありがとう!
zeeProgrammer 2017

33
<configuration xmlns="schema URL">
   <!-- configuration settings -->
</configuration>

上記のように変更を加えてみてください


1
警告は消えました。よろしくお願いします。私はこれを答えとしてマークしなければなりません。
Eae 2012

現在、構成内の要素はVisual Studio 2012 ExpressEditionである環境によって読み取られていないようです。
Eae 2012

@sepoto:uがxmlns名前空間を削除すると、再び警告が表示されます
Ravindra Bagale 2012

1
App.config全体を投稿に含めました。何らかの理由で、Visual Studio 2012 Express C#環境で正しく動作させることができませんでした。上記のソリューションを試しましたが、構成内の要素について警告が表示されたため、問題が発生しました。よろしくお願いしますが、まだ答えはないと思います。
Eae 2012

1
この答えは部分的に正しいです。xmlns(値は何でもかまいません)を指定すると、警告configuration消えますconfiguration、すべてのサブ要素に対して情報メッセージが発行されます。xmlnsがすべての要素を定義する実際のDTDを指している場合、それらのメッセージも消えるはずです。
マイクC

6

-> XMLメニュー(ビジュアルスタジオのトップメニュー項目)に移動し、スキーマを選択して、DotNetConfig.xsd AND RazorCustomSchema.xsd ANDEntityFrameworkConfig_6_1_0.xsdを選択する必要がありました。


1

xamlプロジェクトで作業しているときに、自動生成されたxmlファイル内にこの警告ポップアップが表示されました。

Debug-> CleanSolutionとDebug-> RebuildSolutionを使用して修正しました。スキーマに夢中になる前に、それを試してみたいと思うかもしれません。


0

Visual Studio 2013 Express EditionにDotNetConfig.xsd(https://connect.microsoft.com/VisualStudio/feedback/details/817322/dotnetconfig-xsd-files-not-present-in-vs-2013-express-for-デスクトップ)。

したがって、VS 2013 Expressの警告を取り除くには、次のようにします。

  • 別のシステムまたはWebからDotNetConfig.xsdのコピーを取得します(https://gist.github.com/eed3si9n/5dd7dd98ad2b3f668928b23477de35a3を使用しました)
  • C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Xml \ Schemasにダウンロードします
  • ラーマクリシュナの答えに従ってスキーマを追加する

警告は消えるはずです。



0

ドライブの空き容量が少なくなったため、アプリケーションソリューションの読み込みが不完全になった可能性があります。この「構成要素が宣言されていない」問題は、ドライブにスペースを作成した後に解決されました。


0

私も同じ警告を受けました。しばらく考えた後、SQL(MS SQL)での作業中にエラーが発生したことに気付きました。

Warning: the 'configuration' element is not declared

C#を使用する

App.Configコード:

<connectionStrings>
    <add name="dbx" connectionString="Data Source=ServerNameHere;Initial Catalog=DatabaseNameHere;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

*これはconnectionStringsのデータベース名を呼び出します。練習としてSQLコードをプラグインすると、常にデータベース名、スキーマ、テーブルの順に使用します。私は初心者なので、この方法はVisualStudioではうまく引き継がれませんでした。SQL構文からdb名を削除し、スキーマのデータテーブルからのみ呼び出しました。これで問題は解決しました。

Form.CS:

 using (SqlCommand cmd = new SqlCommand("SELECT * FROM [DatabaseName].[Schema].[TableName] WHERE [MEPeriod] = '2020-06-01'", con))

更新:

using (SqlCommand cmd = new SqlCommand("SELECT * FROM [Schema].[TableName] WHERE [MEPeriod] = '2020-06-01'", con))

これは私にとってはうまくいきました。これがお役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.