System.Text.Json reflection-basierte Serialisierung deaktivieren
Erfahren Sie, wie Sie ab .NET 8 die reflection-basierte Serialisierung in System.Text.Json für trimmed und native AOT-Anwendungen über die Eigenschaft JsonSerializerIsReflectionEnabledByDefault deaktivieren.
Ab .NET 8 können Sie den standardmäßig in System.Text.Json enthaltenen reflection-basierten Serializer deaktivieren. Das ist nützlich bei trimmed und native AOT-Anwendungen, bei denen Sie die Reflection-Komponenten nicht in Ihren Build aufnehmen möchten.
Sie aktivieren das, indem Sie in Ihrer .csproj-Datei die Eigenschaft JsonSerializerIsReflectionEnabledByDefault auf false setzen.
<JsonSerializerIsReflectionEnabledByDefault>false</JsonSerializerIsReflectionEnabledByDefault>
Als Nebenwirkung müssen Sie bei Serialisierung und Deserialisierung ein JsonSerializerOptions mitgeben. Tun Sie das nicht, gibt es zur Laufzeit eine NotSupportedException.
Zusammen mit dieser Option gibt es auf JsonSerializer eine neue Eigenschaft IsReflectionEnabledByDefault, mit der Entwickler zur Laufzeit prüfen können, ob das Feature an- oder ausgeschaltet ist.
Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.