次の方法で共有


軽減策: DataContractJsonSerializer を使用した制御文字のシリアル化

.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>

こちらも参照ください