Microsoft.Extensions.Configuration.Xml가 Name
특성이 없는 반복되는 XML 요소가 있는 XML 문서를 읽는 데 사용되는 경우, 이러한 반복된 요소로 생성된 Configuration
항목에는 이제 구성 경로에 인덱스가 추가됩니다.
도입된 버전
.NET 6
이전 동작
구분 Name
특성 없이 반복되는 요소를 표시하는 다음 XML 조각을 고려합니다.
<settings>
<Data ConnectionString="TestConnectionString" />
<Data Provider="MySql" />
</settings>
<configuration>
<Level1>
<Level2 Key1="Value1" />
<Level2 Key2="Value2" />
</Level1>
</configuration>
이러한 XML 파일에서 만든 구성은 다음과 같습니다.
Data:ConnectionString = TestConnectionString
Data:Provider = MySql
및
Level1:Level2:Key1 = Value1
Level1:Level2:Key2 = Value2
각각.
새 동작
이전 동작 섹션의 XML 파일에서 만든 구성은 이제 다음과 같습니다.
Data:0:ConnectionString = TestConnectionString
Data:1:Provider = MySql
및
Level1:Level2:0:Key1 = Value1
Level1:Level2:1:Key2 = Value2
각각.
파괴적 변경 유형
이 변경 내용은 이진 호환성에 영향을 줄 수 있습니다.
변경 이유
이 변경 내용은 특성이 없는 Name
반복된 XML 요소를 완전히 지원하기 위해 도입되었습니다. 이전 동작은 반복되는 요소만 고유 값을 설정할 수 있도록 허용했습니다(특성 또는 하위 요소 사용). 반복되는 XML 요소의 속성이 같으면 예외가 발생했습니다.
권장 작업
원래 동작을 얻으려면 XML을 업데이트하여 두 특성을 동일한 요소로 축소할 수 있습니다. 다음은 그 예입니다.
<configuration>
<Level1>
<Level2 Key1="Value1" Key2="Value2" />
</Level1>
</configuration>
또는 IConfiguration
키에서 인덱스(예: 0, 1, 2)를 예상하도록 코드를 업데이트할 수 있습니다.
configRoot.GetSection("Level1:Level2")
변합니다.
configRoot.GetSection("Level1:Level2:0")
영향을 받는 API
- Microsoft.Extensions.Configuration.XmlConfigurationExtensions
- Microsoft.Extensions.Configuration.Xml.XmlStreamConfigurationProvider
- Microsoft.Extensions.Configuration.Xml.XmlConfigurationSource
참고하십시오
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET