title: Unable to deserialize an object with a byte array property using Json.NET 8.0.1
body: <p>After upgrading a code base to use Json.NET 8.0.1, some deserialization stumbles. Using Json.NET 7.0.1 everything works fine. Apparently it is the deserialization of a property of type <code>byte[]</code> that causes the problem. If I remove the <code>byte[]</code> property it works fine. I can reproduce the behavior using this simple console application:</p>
  
  <pre><code>internal class Program
  {
      private static void Main(string[] args)
      {
          Dictionary&lt;string, Account&gt; accounts;
          var jsonSerializerSettings = new JsonSerializerSettings
          {
              TypeNameHandling = TypeNameHandling.Objects,
              TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple
          };
  
          using (var streamReader = new StreamReader("accounts.json"))
          {
              var json = streamReader.ReadToEnd();
              accounts = JsonConvert.DeserializeObject&lt;Dictionary&lt;string, Account&gt;&gt;(json, jsonSerializerSettings);
          }
  
          foreach (var account in accounts)
          {
              Debug.WriteLine(account.Value.Name);
          }
      }
  }
  
  internal class Account
  {
      public string Id { get; set; }
  
      public string Name { get; set; }
  
      public byte[] EncryptedPassword { get; set; }
  }
  </code></pre>
  
  <p>The <code>accounts.json</code> file looks like this:</p>
  
  <pre><code>{
      "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[ConsoleApplication1.Account, ConsoleApplication1]], mscorlib",
      "lars.michael": {
          "$type": "ConsoleApplication1.Account, ConsoleApplication1",
          "EncryptedPassword": {
              "$type": "System.Byte[], mscorlib",
              "$value": "cGFzc3dvcmQ="
          },
          "Name": "Lars Michael",
          "Id": "lars.michael"
      },
      "john.doe": {
          "$type": "ConsoleApplication1.Account, ConsoleApplication1",
          "EncryptedPassword": {
              "$type": "System.Byte[], mscorlib",
              "$value": "cGFzc3dvcmQ="
          },
          "Name": "John Doe",
          "Id": "john.doe"
      }
  }
  </code></pre>
  
  <p>Is this possibly a bug in Json.NET 8.0.1 or can I maybe solve this by tweaking the <code>JsonSerializerSettings</code>?</p>
  
  <p>If anyone is trying to reproduce this, make sure to synchronize the assembly name in the <code>accounts.json</code> file with the assembly name of the console application (in this case <code>ConsoleApplication1</code>).</p>