.NET Framework 4.7 以降では、コントロール文字を DataContractJsonSerializer でシリアル化する方法が、ECMAScript V6 および V8 に準拠するように変更されました。
インパクト
.NET Framework 4.6.2 以前のバージョンでは、 DataContractJsonSerializer は ECMAScript V6 および V8 標準と互換性のある方法で、 \b、 \f、 \tなどの一部の特殊な制御文字をシリアル化しませんでした。
.NET Framework 4.7 以降の .NET Framework のバージョンを対象とするアプリの場合、これらの制御文字のシリアル化は ECMAScript V6 および V8 と互換性があります。 次の API が影響を受ける。
緩和策
.NET Framework 4.7 以降のバージョンの .NET Framework を対象とするアプリの場合、この動作は既定で有効になっています。
この動作が望ましくない場合は、app.config または web.config ファイルの <runtime> セクションに次の行を追加することで、この機能を無効にすることができます。
<runtime>
<AppContextSwitchOverrides value="Switch.System.Runtime.Serialization.DoNotUseECMAScriptV6EscapeControlCharacter=false" />
</runtime>
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET