app.config의 System.diagnostics 항목
app.config 파일이 있는 애플리케이션의 경우 <configuration><configSections>
항목은 <section name="system.diagnostics">
항목을 더 이상 포함할 수 없습니다. 이 항목이 있다면 제거해야 합니다.
<section name="system.diagnostics">
항목이 있으면 구성 시스템을 처음 사용할 때 다음과 같은 런타임 예외가 발생합니다.
ConfigurationErrorsException: 섹션 또는 그룹 이름 'system.diagnostics'가 이미 정의되어 있습니다. 이에 대한 업데이트는 그것이 정의된 구성 수준에서만 발생할 수 있습니다.
예를 들어 다음 app.config 파일에는 불필요한 항목이 포함되어 있습니다.
<configuration>
<configSections>
<section name="system.diagnostics"
type="System.Diagnostics.SystemDiagnosticsSection,
System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</configSections>
이 중단은 다음과 같은 앱에 대해서만 발생할 수 있습니다.
- .NET Framework .NET으로 마이그레이션되었습니다.
<system.diagnostics>
섹션의 수동 읽기를 지원하기 위해 app.config 파일에<section name="system.diagnostics">
를 명시적으로 추가했습니다.- 암시적
<section name="system.diagnostics">
항목이 있는 .NET 7로 업그레이드했습니다.
이전 동작
다음과 같은 <system.diagnostics>
구성 섹션이 이후에 있는 경우 <section name="system.diagnostics">
지정이 허용되었으며 필요했습니다.
<configuration>
<system.diagnostics>
그러나 섹션을 자동으로 읽지 않았습니다. 그 이유는 System.Diagnostics가 수신기를 추가하고 해당 섹션을 처리하여 다른 진단 기능을 구성하는 기능을 아직 지원하지 않았기 때문입니다.
그러나 .NET Framework는 <system.diagnostics>
섹션 처리를 지원하며 machine.config 파일에 <section name="system.diagnostics">
항목이 있습니다.
새 동작
이제 System.Diagnostics는 구성 파일에서 <system.diagnostics>
섹션 읽기를 지원하고 암시적 <section name="system.diagnostics">
항목을 추가합니다. app.config 파일에 명시적 <section name="system.diagnostics">
항목이 있으면 중복 항목이 발생하고 ConfigurationErrorsException이 throw됩니다.
도입된 버전
.NET 7 RC 1
호환성이 손상되는 변경의 형식
이 변경은 이진 호환성에 영향을 줄 수 있습니다.
변경 이유
System.Diagnostics가 app.config 파일에서 읽기를 수행하는 새 기능을 지원하려면 암시적 <section name="system.diagnostics">
요소를 추가해야 했습니다.
권장 조치
불필요한 <section name="system.diagnostics" ... >
섹션을 제거합니다.
영향을 받는 API
N/A
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기