Udostępnij za pośrednictwem


Wpis System.diagnostics w pliku app.config

W przypadku aplikacji, które mają plik app.config , <configuration><configSections> wpis nie może już zawierać <section name="system.diagnostics"> wpisu. Jeśli jest obecny, musisz usunąć wpis.

<section name="system.diagnostics"> Wpis zgłasza następujący wyjątek w czasie wykonywania, gdy system konfiguracji jest używany po raz pierwszy:

ConfigurationErrorsException: Nazwa sekcji lub grupy "system.diagnostics" jest już zdefiniowana. Aktualizacje do tego może wystąpić tylko na poziomie konfiguracji, na którym jest zdefiniowana.

Na przykład następujący plik app.config zawiera niepotrzebny wpis:

<configuration>
 <configSections>
   <section name="system.diagnostics"
            type="System.Diagnostics.SystemDiagnosticsSection,
            System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
 </configSections>

Ta przerwa prawdopodobnie wystąpi tylko w przypadku aplikacji, które:

  • Przeprowadzono migrację z programu .NET Framework do platformy .NET.
  • Jawnie dodano <section name="system.diagnostics"> element do pliku app.config w celu obsługi ręcznego odczytywania <system.diagnostics> sekcji.
  • Zostały uaktualnione do platformy .NET 7, która ma niejawny <section name="system.diagnostics"> wpis.

Poprzednie zachowanie

Określenie <section name="system.diagnostics"> było dozwolone i konieczne, jeśli istniała późniejsza <system.diagnostics> sekcja konfiguracji, taka jak poniżej:

<configuration>
    <system.diagnostics>

Jednak sekcja nie została automatycznie odczytana. Wynika to z faktu System.Diagnostics , że funkcja nie obsługuje jeszcze dodawania odbiorników i konfigurowania innych funkcji diagnostycznych przez przetworzenie tej sekcji.

Program .NET Framework obsługuje jednak przetwarzanie <system.diagnostics> sekcji i zawiera <section name="system.diagnostics"> wpis w pliku machine.config .

Nowe zachowanie

System.Diagnostics Teraz obsługuje odczytywanie <system.diagnostics> sekcji z pliku konfiguracji i dodaje niejawny <section name="system.diagnostics"> wpis. Jawny wpis w pliku app.config powoduje zduplikowany wpis, który zgłasza błąd ConfigurationErrorsException.<section name="system.diagnostics">

Wprowadzona wersja

.NET 7 RC 1

Typ zmiany powodującej niezgodność

Ta zmiana może mieć wpływ na zgodność binarną.

Przyczyna wprowadzenia zmiany

Aby obsługiwać nową funkcję, w której System.Diagnostics odczyty z pliku app.config , musieliśmy dodać niejawny <section name="system.diagnostics"> element.

Usuń niepotrzebną sekcję <section name="system.diagnostics" ... > .

Dotyczy interfejsów API

Nie dotyczy