스키마를 생성하여“속성 / 요소에 대한 스키마 정보를 찾을 수 없습니다”오류 수정 방법


148

C2010으로 VS2010으로 작성된 Windows Forms 응용 프로그램이 있고 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>

이것은 stackoverflow.com/questions/179927/… 이 질문의 속임수처럼 보입니다 . @ user57433의 답변을 확인하십시오.
rsbarro

@rsbarro, EntLib 구성 도구와 DotNetConfig.xsd 파일은 어디에 있습니까?
Brian McCarthy

죄송합니다, 사용자가 질문에 대한 답변을 2 개 올렸다는 사실을 몰랐습니다. 나는 두 번째 대답을 참조하고있었습니다. 그 대답은 정확하지만 약간 불분명하여 아래에 더 자세한 대답을 제공했습니다.
rsbarro

1
고마워, rsbarro! StingyJack의 원래 질문은 단순한 사용자 정의 구성 섹션이 아니라 엔터프라이즈 라이브러리 구성 섹션을 사용하는 오류로 제한되었습니다.
Lisa

답변:


169

2015 년 9 월 업데이트이
답변은 계속해서 인기를 얻으므로 일부 사람들에게는 도움이 될 것이므로 여기에 남겨 두겠습니다.하지만 @reexmonkey@Pressacco 의 다른 답변을 먼저 확인하십시오. 더 나은 결과를 제공 할 수 있습니다.

ORIGINAL 답변은
이것을 샷 보내기

  1. Visual Studio에서 app.config 또는 web.config 파일을 엽니 다.
  2. "XML"메뉴로 이동하여 "스키마 생성"을 선택하십시오. 이 조치는 "app.xsd"또는 "web.xsd"라는 새 파일을 작성해야합니다.
  3. 해당 파일을 디스크에 저장하십시오.
  4. app.config 또는 web.config로 돌아가서 편집 창 에서 마우스 오른쪽 단추를 클릭하고 특성을 선택하십시오. 여기에서 방금 생성 한 xsd가 Schemas 속성에서 참조되는지 확인하십시오. 없는 경우 추가하십시오.

메시지가 사라질 것입니다.

내 web.xsd를 내 웹 폴더의 루트에 저장했는데 (이 폴더는 가장 좋은 위치는 아니지만 데모 목적으로 만 사용됨) Schemas 속성은 다음과 같습니다.

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


10
@rsbarro, 답변 감사합니다! 왜 2 개의 xsd 파일이 있습니까? 스키마를 만들고 루트 디렉토리에 저장 한 app.xsd 파일 하나만 만들었습니다. 오류가 사라졌지 만 이제 "전역 요소 'configuration'이 선언되었습니다"라는 경고가 표시됩니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
Brian McCarthy

2
속성 대화 상자를 사용하여 스키마를 선택하거나 다른 스키마를 추가하십시오. app.config를 볼 때 편집기 창에서 마우스 오른쪽 버튼을 클릭하고 속성을 선택하십시오. 팝업되는 속성 편집기 컨트롤에 스키마가 나타납니다. 또한 Schemas에서 "..."버튼을 클릭하면 멋진 GUI를 사용하여 구성 파일에 사용할 스키마를 선택할 수 있습니다.
rsbarro

3
감사. 이것은 효과가 있었지만 왜 이런 일이 발생했는지 이해하기 위해 읽을 수있는 좋은 곳이 있습니까? DotNetOpenAuth에 많은 콘텐츠를 추가 한 다음 edmx 파일을 처음부터 다시 생성 한 후 web.config에 대한 스키마를 생성하는 데 갑자기 필요한 것처럼 보입니다. "당신은 많은 것을 바꿨 기 때문에 무언가가 놀랐습니다." 일종의 방법이지만 web.config 파일에 자발적으로 스키마가 필요한 이유를 아는 것이 도움이 될 것입니다.
froggythefrog

6
Web.xsd 파일을 생성 할 때는 web / app.config 섹션 (사용자 섹션)에 추가 한 스키마 만 포함하십시오. 이미 기본 스키마에 있거나 다른 .xsd에 포함 된 다른 모든 것을 제외하십시오.
Pagotti

10
아니, 아니!! 이것은 실제적인 문제조차 아니기 때문에 "솔루션"이 아닙니다. @pressacco의 답변을보고 투표하십시오. 또한 reexmonkey의 답변이 작동합니다. 이 답변이 왜 그렇게 많은 투표를 받고 있습니까? 1. 간단히 무시하십시오! app.config 또는 web.config를 닫고 메시지가 표시되지 않도록 컴파일하십시오. 2. 반드시 필요한 것은 아니지만 .config 속성을 마우스 오른쪽 버튼으로 클릭하여 VS 제공 XSD에 대한 경로를 수정하여 해결하십시오. (@ pressacco 's answer) 3. 또는 : 프로젝트 설정을 DotNet 버전으로 변경합니다. 두 번 반복하십시오. (reexmonkey의 답변). 패키지 업데이트에 문제가 발생할 수 있습니다.
pashute

217

문제를 해결하는 가장 빠르고 쉬운 방법 :

  1. 솔루션 탐색기에서 프로젝트 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택하십시오.
  2. "응용 프로그램"탭으로 이동하여 이전 .NET 대상 프레임 워크를 선택하십시오.
  3. 변경 사항을 저장하다.
  4. "응용 프로그램"탭으로 이동하여 초기 .NET 대상 프레임 워크를 선택하십시오.
  5. 변경 사항 저장 => 문제 해결!

11
단! VS2012에서 나를 위해 일했습니다.
amo

4
나를 위해 일했습니다 (VS2013 Premium).
Remco

5
첫 번째 시도에서는 작동하지 않을 수 있습니다. VS 2013 Express에서 작동하기 전에 두 번 수행해야했습니다.
H2ONaCl

24
Visual Studio 2015에서 나를 위해 일했습니다. 누군가 이유를 설명 할 수 있다면 좋을 것입니다.
Jonathan Wood

6
VS2015 업데이트 2, .NET 4.5.2가 작동하지 않았습니다. 메시지가 사라지는 것처럼 보이지만 XML 파일을 다시 열면 다시 나타납니다.
Snoop

21

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 파일을 열 때만 볼 수 있다는 점을 반복해야합니다. "모든 문서 닫기"및 컴파일 ... 메시지가 표시되지 않습니다.


1
경로를 완전히 규정함으로써 절대 경로를 사용하십시오. 예를 들면 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Xml\Schemas\EnterpriseLibrary.Configuration.xsd. Windows 운영 체제에서 상대 경로는. \ 및 .. \ 문자를 포함 할 수 있습니다.
Pressacco

1
경고를 제거하기 위해 XML 파일을 닫는 것에 대한 정보를 가져 주셔서 감사합니다. 이상한 행동 (
Machtyn

8
Visual Studio 2015에서 EnterpriseLibrary.Configuration.xsd가 누락 되었습니까?
Luke

3
XML 파일을 닫는 것만으로도 문제가 해결되었습니다.
Taegost

1
@Taegost에게 감사합니다. 이것도 저를 위해했습니다. (VS2013의 코드 분석 사용자 정의 사전 문제는 언급 된 것과 약간 다르지만 동일한 증상). 내가 시도한 다른 것은 없었으며 이것이 나를 미치게했습니다. 편집기에서 사전을 열었을 때 이러한 오류로 인해 코드 분석 도구가 사용하지 않은 것 같습니다!
sn00gan

1

관련 모듈에 구문 오류가 있으며 컴파일되지 않았다는 것을 발견했습니다. 컴파일러는 나에게 말하지 않았습니다. app.config 관련 오류가 발생했습니다. VS2010. 구문 오류를 수정하면 모든 것이 좋았습니다.


1

이 오류는 프로젝트가 오래된 스키마를 참조 할 때 발생합니다. 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

속성 / 요소에 대한 찾을 수 없습니다 스키마 정보 오류 (들) 지금 해결해야합니다.


1

단순 : Visual Studio 보고서 디자이너에서
1. 디자인 모드에서 보고서를 열고 RDLC 파일에서 데이터 집합을 삭제합니다
. 2. 솔루션 탐색기를 열고 실제 (손상된) XSD 파일을 삭제합니다.
3. 데이터 집합을 RDLC 파일에 다시 추가합니다.
4. 위의 절차는 새로운 XSD 파일을 생성합니다.
5. 자세한 내용은 다음과 같습니다.

Visual Studio에서 디자인 모드에서 RDLC 파일 보고서를 엽니 다. 보고서를 클릭 한 다음 최상위 라인 메뉴에서보기를 선택한 다음 데이터보고를 선택하십시오. 데이터 세트를 선택한 다음 마우스 오른쪽 단추를 클릭하고 보고서에서 데이터 세트를 삭제하십시오. 다음 Visual Studio에서 솔루션 탐색기가 아직 열려 있지 않은 경우 솔루션 탐색기를 엽니 다. XSD 파일을 찾으십시오 (보고서에서 방금 삭제 한 데이터 세트와 동일한 이름이어야 함). 이제 보고서 데이터 데이터 세트를 다시 마우스 오른쪽 단추로 클릭하고 데이터 세트 추가를 선택하십시오. 그러면 새 XSD 파일이 생성되고 데이터 집합 속성이 보고서에 작성됩니다. 이제 오류 메시지가 사라지고 누락 된 데이터가 보고서에 나타납니다.


0

이 일이 (어디서나 나에게) 일어 났을 때 위의 최상위 답변으로 뛰어 들려고 한 다음 프로젝트를 닫고 Visual Studio를 닫은 다음 모든 것을 다시 열 것이라고 생각했습니다. 문제 해결됨. VS 버그?


지나침. VS 내에서 App.config 파일 편집기를 닫는 것으로 충분합니다. VS 버그 일 수 있습니다.
Jirka Hanika 2016 년

0

VS 2012에서 프로젝트의 "섹션 이름"이 변경된 곳에서 이것을 가지고 있었고 프로젝트에서 "app.config"를 삭제 한 다음 "솔루션 탐색기"에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 " 속성 ','설정 '을 차례로 클릭 한 다음 설정, 저장 및 재 구축 중 하나를 변경하십시오. 올바른 정보로 새로운 app.config를 만들었습니다.


0

내 경우에는 코드에서 모호한 참조가있었습니다. Visual Studio를 다시 시작했는데 오류 메시지가 표시되었습니다. 이 문제를 해결하면 다른 오류가 사라졌습니다.


-1

필자가 작성한 내용의 대부분은 Pressacco에서 이미 다루었지만 SpecFlow에만 해당됩니다.

<specFlow>요소에 대한이 메시지를 받고 있으므로 specflow.xsd솔루션 에이 대답에 파일을 추가했습니다 ( <plugins>요소 를 허용하도록 수정 ).

그 후 나는 (Pressacco와 같은), 파일 버퍼 내에서 app.config선택한 속성을 마우스 오른쪽 버튼으로 클릭 하고, 내에 Schemas추가 "specflow.xsd"했습니다. 이제 전체 내용을 Schemas읽습니다.

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\xml\Schemas\1033\DotNetConfig.xsd" "C:\Program Files (x86)\Microsoft Visual Studio 12.0\xml\Schemas\EntityFrameworkConfig_6_1_0.xsd" "C:\Program Files (x86)\Microsoft Visual Studio 12.0\xml\Schemas\RazorCustomSchema.xsd" "specflow.xsd"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.