구성 요소가 선언되지 않았습니다.


85

Visual Studio 2012 Express Edition에서 몇 가지 작업을하고 있습니다. 다음과 같이 App.config XML 파일을 추가했습니다.

<?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 파일이 어떻게 보이는지 살펴 봐야 할 수도 있습니다. \의 Program Files (x86)를 \ 마이크로 소프트 비주얼 스튜디오 10.0 \ XML을 \ 스키마 : C 같은 곳에서 찾을 수 있습니다
아드리안 스탠

정확한 오류는 무엇이며이 경고는 무엇입니까? 풀 스택 프레임으로 제발?
Simon Mourier

내 VS2012 Express 에디션에서 작동합니다.
Martin Mulder 2013 년

1
지능적인 문제입니다. 새로운 콘솔 애플리케이션을 사용하여 App.config를 열고 <configuration> 요소에 " 'configuration'요소가 선언되지 않았습니다."라는 오류와 함께 파란색 밑줄이 표시됩니다. 그러나 여전히 <appsettings> 섹션을 추가 할 수 있습니다. 설정하고 ConfigurationManager 클래스로 참조하지만 appsettings 및 <add key ... 항목을 추가 할 때 intellisense가 표시되지 않습니다. 더 많은 정보를 원했던 순전히 지능적인 문제이므로 현상금입니다.
seekerOfKnowledge

1
오답을 선택했습니다.
JJS

답변:


22

나는 같은 문제가 있었다. 이는 오류가 아니라 단순히 경고 일뿐입니다. 따라서 애플리케이션은 여전히 ​​컴파일되어야합니다. 다음과 같은 간단한 구성 파일을 사용했는데 경고가 계속 생성됩니다.

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

MSDN 웹 사이트에서 제기 된 문제이지만 만족스럽게 해결되지 않은 것 같습니다. 아래 링크를 참조하십시오.

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



340

XML 메뉴 (Visual Studio 상단 메뉴 항목)로 이동하여 스키마를 선택하고 DotNetConfig.xsd찾은 다음 Use this schema를 선택합니다 .

XML-스키마

XML 스키마 편집

당신의 문제는 확실히 해결 될 것입니다


6
이것이 답이되어야합니다. 이 답변이 게시 된 날짜 ('15 년 8 월)를 보면이 답변이 질문 당시 ('12 년 9 월)에 존재했는지 잘 모르겠습니다. (그것을나요?)
이안

1
이것만으로는 효과가 없었습니다. 이것을 고려하십시오 : stackoverflow.com/questions/4355278/…
Matt

2
이 답변은 Visual Studio 2017에서 문제를 해결했습니다. 어쨌든 .config 파일을 만들 때 DotNetConfig.xsd가 기본적으로 사용되지 않는 이유를 이해할 수 없습니다.
Gael

Ramakrishna 당신 다 사람! 완벽하게 작동했습니다. 응용 프로그램은 여전히 ​​컴파일되지만 성가신 경고 메시지는 이제 사라졌습니다.
puffgroovy

이것은 작동합니다. 내 솔루션에서 발견 한 자세한 정보는 .net 버전 4.5에 대한 것입니다 .DotNetConfig.xsd 스키마는 기본적으로 선택되지만 .net 버전 4.6의 경우 DotNetConfig.xsd는이 답변에서 제안한 @Ramakrishna로 선택해야합니다. 감사!
ZeeProgrammer

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

위와 같이 변경하고 시도하십시오.


1
경고가 사라졌습니다. 감사합니다. 나는 이것을 답으로 표시해야한다.
EAE

이제 구성 내부의 요소가 Visual Studio 2012 Express Edition 환경에서 읽히지 않는 것 같습니다.
EAE

@sepoto는 : 유 XMLNS 다음 네임 스페이스 제거하는 경우 다시 경고를 제공
라빈 드라 Bagale에게

1
내 게시물에 App.config 전체를 포함했습니다. 어떤 이유로 Visual Studio 2012 Express C # 환경에서 제대로 작동하지 못했습니다. 위의 솔루션을 시도했지만 구성 내부 요소에 대한 경고가 표시되어 문제가 발생했습니다. 도와 주셔서 감사하지만 아직 답이 없다고 생각합니다.
EAE

1
이 대답은 부분적으로 정확합니다. xmlns (값은 무엇이든 가능)를 지정하면 경고configuration사라지지만 모든 하위 요소에 대해 정보 메시지 가 발행 configuration됩니다. xmlns가 모든 요소를 ​​정의하는 실제 DTD를 가리키는 경우 해당 메시지도 사라집니다.
Mike C

6

-> XML 메뉴로 이동 (Visual Studio 상단 메뉴 항목) 스키마를 선택하고 DotNetConfig.xsd 및 RazorCustomSchema.xsd 및 EntityFrameworkConfig_6_1_0.xsd를 선택해야했습니다.


1

xaml 프로젝트에서 작업하는 동안 자동 생성 된 xml 파일 내에이 경고 팝업이 표시되었습니다.

Debug-> Clean Solution 및 Debug-> Rebuild Solution을 사용하여 문제를 해결했습니다. 스키마에 익숙해지기 전에 시도해 볼 수도 있습니다.


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에서 경고를 제거하려면 :

  • 다른 시스템이나 웹에서 DotNetConfig.xsd의 복사본을 가져옵니다 ( https://gist.github.com/eed3si9n/5dd7dd98ad2b3f668928b23477de35a3 사용). ).
  • C : \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Xml \ Schemas에 다운로드합니다.
  • Ramakrishna의 답변에 따라 스키마를 추가하십시오.

경고가 사라져야합니다.



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 코드를 연결할 때 항상 데이터베이스 이름, 스키마, 테이블을 사용합니다. 이 연습은 내가 초보자이기 때문에 Visual Studio에서 잘 수행되지 않았습니다. 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.