program tip

수정 : 글로벌 요소 'configuration'이 이미 선언되었습니다.

radiobox 2020. 10. 25. 12:04
반응형

수정 : 글로벌 요소 'configuration'이 이미 선언되었습니다.


"요소 / 속성 <xxx>에 대한 스키마 정보를 찾을 수 없습니다"를 해결하는 방법 의 두 번째 솔루션을 사용했습니다 .

즉, 스키마를 만드는 버튼으로 XSD를 만들었습니다. app.config의 스타일 시트를 app.xsd로 변경했지만 이제 경고가 표시됩니다.

전역 요소 'configuration'이 이미 app.xsd에 선언되었습니다.

이름을 변경해도 경고가 표시됩니다. 아무도 이것에 대한 해결책이 있습니까?


나는 당신이 언급하는 질문과 비슷한 문제가 있었고,이 지침을 따랐고 모든 것이 정상이었습니다. 먼저 EnterpriseLibrary.Configuration.xsd있는지 확인한 %Program Files%\Microsoft Visual Studio [version] \Xml\Schemas\다음 다음을 수행하십시오.

엔터프라이즈 라이브러리는 Visual Studio XML 편집기에서 엔터프라이즈 라이브러리 구성 파일을 편집하기 위해 IntelliSense®를 제공하는 스키마를 Visual Studio에 설치합니다. 스키마를 사용하려면 먼저 설정해야합니다.

엔터프라이즈 라이브러리 구성 스키마를 활성화하려면

  1. 솔루션 탐색기에서 구성 파일을 두 번 클릭하여 Visual Studio에서 엽니 다.

  2. XML 메뉴에서 스키마 ...를 클릭하여 XML 스키마 대화 상자를 엽니 다.

  3. EnterpriseLibrary.Configuration.xsd라는 스키마를 찾습니다. 이것은 자동으로 설치됩니다. 그러나 목록에 표시되지 않으면 추가를 클릭하고 % Program Files % \ Microsoft Visual Studio [버전] \ Xml \ Schemas \ 폴더로 이동 한 다음 EnterpriseLibrary.Configuration.xsd를 선택하고 열기를 클릭합니다.

  4. 사용 열의 값을이 스키마 사용으로 변경하십시오. 그런 다음 확인을 클릭하십시오.

기사 링크가 여기에 있습니다 . 도움이 되길 바랍니다.


재부팅이 작동하지 않았으므로 작동 한 내용을 공유하고 싶습니다.

먼저 Windows 8로 업그레이드했습니다. 그 전에는이 문제가 발생하지 않았습니다. 이 문제 는 내 app.config 파일 중 하나 에서만 발생했습니다 . 그래서 문제가있는 app.config를 좋은 것과 비교하기로 결정했습니다. Visual Studio에서 app.config를 연 상태에서 Xml -> Schemas. 좋은 구성에는 이러한 스키마 중 세 개만 확인되었습니다. 나쁜 사람은 동일한 3 개와 DotNetConfig.xsd를 확인했습니다. Use열을 자동으로 변경 한 후 DotNetConfig.xsd의 경우 문제가 해결되었습니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력


내 문제는 .Net 4.5에서 .Net 4.0으로 갔다는 것입니다. 이 문제를 해결하기 위해 모든 체크 된 스키마를 자동으로 전환했습니다.


나는 이것으로 잠시 어려움을 겪었습니다. 내 버전의 문제는 {PROJECTNAME}.SUOVisual Studio에서 만든 숨겨진 파일 에서 비롯된 것 입니다.

내 생각 엔 VS는이 파일에 XSD 스키마 연결을 캐시합니다. 경고는 대상 프레임 워크를 변경 한 후 표시되고 SUO 파일을 삭제하고 VS를 다시 시작하면 사라졌습니다.


질문에 설명 된 증상과 Visual Studio 2013 (업데이트 4)을 사용하면 XML 스키마 [원문] 대화 상자에서 DotNetConfig.xsd둘 다 DotNetConfig40.xsd사용하도록 선택 되었음을 알 수 있습니다.

.NET Framework 4.0 프로젝트를 사용하고 있습니다.

두 XSD 파일이 서로 충돌하여 각각 동일한 요소를 정의하여 경고가 발생합니다.

이러한 스키마 파일은 %programfiles(x86)%\Microsoft Visual Studio 12.0\xml\Schemas\폴더에 포함되어 있습니다.

DotNetConfig.xsd에있는 1033하위 폴더와 새로운, 더 완전한 버전이 될 것으로 보인다.

XML 스키마에서 선택한 설정에 관계없이 DotNetConfig40 또는 DotNetConfig를 선택 취소하거나 제거 할 수 없습니다 . " Remove "를 시도 하고 Use 매개 변수를 " Use this schema "에서 " Automatic "으로 변경 한 다음 " Do not use this schema "로 변경했습니다.

어떤 파일을 선택하더라도 대화 상자로 돌아 가면 둘 다 사용하도록 선택됩니다. 또한 " 확인 "을 누르기 전에 다른 행으로 이동하는 트릭을 시도했습니다 .

마지막으로 로드되지 않도록 DotNetConfig40.xsd파일 이름을로 변경했습니다 DotNetConfig40 DO NOT USE.xsd. 이것은 즉시 문제를 해결했습니다.

나는 그렇게하는 것이 만족스럽지 않고 다른 프로젝트에 원하지 않는 부작용이 있을지 걱정합니다. 이 게시물을 내 결과로 업데이트하겠습니다.


이 문제는 이러한 경고를 유발하는 편집기에서 파일을 닫고 다시 컴파일하면 해결되었습니다.


시스템을 재부팅하면 문제가 해결됩니다. 즉, 구성표와 관련된 경고가 더 이상 표시되지 않습니다.

따라서 재부팅하면 (그리고 아마도 일부 암시 적 복원 / 재설정으로 경고가 제거 된 것 같습니다).


VS2017에서이 문제를 발견했습니다.

DotNetConfig.xsd를 "자동"을 사용하도록 변경하면 문제가 해결되었습니다.

여기에 이미지 설명 입력


Using Visual Studio 2015 Community Edition - generating a web.xsd in the root folder of my project and adding it to the schema list cleared all but one of the warnings,

The global element 'configuration' has already been declared'.

Closing the web.config file in the text editor and rebuilding the project cleared this warning.


For me i noticed i had a bunch of XML Schemas that were duplicated, i just simply marked as Don't Use all the ones that weren't related to Visual Studio 2017. The problem immediately disappeared


Necromancing: update 2019 with visual Studio 2017

I tried to do what others suggested:

  • I tried to reboot the system: did not work.
  • open App.Config
  • Menu: XML - Schemas...
  • See that there are several DotNetConfigXX.csd (XX either emoty, or a number)
  • 자동으로 설정하거나 "이 스키마를 사용하지 마십시오"
  • 중복 된 스키마를 제거하려고했습니다.

이 모든 것이 작동하지 않았습니다.

그러나 여기에 설명 된 OLEG 솔루션이 작동했습니다.

내가해야 할 일은 사용 된 모든 DotNetConfigXX.xsd 파일 (XX가 비어 있거나 숫자)의 다음 부분을 다음 코드로 바꾸는 것입니다.

 <xs:element name="startup" vs:help="configuration/startup" 
 ...
 </xs:element>

다음으로 교체 :

<xs:element name="startup" vs:help="configuration/startup">
    <xs:complexType>
        <xs:choice minOccurs="1" maxOccurs="1">
            <xs:element name="requiredRuntime"     vs:help="configuration/startup/requiredRuntime">
                <xs:complexType>
                    <xs:attribute name="version" type="xs:string" use="optional" />
                    <xs:attribute name="safemode" type="xs:boolean" use="optional" />
                </xs:complexType>
            </xs:element>
            <xs:element name="supportedRuntime" minOccurs="1" maxOccurs="unbounded" vs:help="configuration/startup/supportedRuntime">
                <xs:complexType>
                    <xs:attribute name="version" type="xs:string" use="optional" />
                    <xs:attribute name="sku" type="xs:string" use="optional" />
                </xs:complexType>
            </xs:element>
        </xs:choice>
        <xs:attribute name="useLegacyV2RuntimeActivationPolicy" type="xs:boolean" use="optional" />
        <!-- see http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx -->
    </xs:complexType>
</xs:element>

원본 .XSD 파일을 백업하는 것을 잊지 마십시오!

Visual Studio를 다시 시작한 후 오류가 사라졌습니다.

참고 URL : https://stackoverflow.com/questions/11816916/fix-the-global-element-configuration-has-already-been-declared

반응형