diff --git a/Build/Newtonsoft.Json.nuspec b/Build/Newtonsoft.Json.nuspec
index ba7c669b..991b98f7 100644
--- a/Build/Newtonsoft.Json.nuspec
+++ b/Build/Newtonsoft.Json.nuspec
@@ -17,56 +17,57 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Build/build.ps1 b/Build/build.ps1
index 59a456ee..d6a5ed84 100644
--- a/Build/build.ps1
+++ b/Build/build.ps1
@@ -24,7 +24,7 @@
$workingSourceDir = "$workingDir\Src"
$nugetPath = "$buildDir\nuget.exe"
$builds = @(
- @{Name = "Newtonsoft.Json.Roslyn"; TestsName = "Newtonsoft.Json.Tests.Roslyn"; BuildFunction = "NetCliBuild"; TestsFunction = "NetCliTests"; NuGetDir = "netstandard1.0,netstandard1.1"; Framework=$null; Enabled=$true},
+ @{Name = "Newtonsoft.Json.Roslyn"; TestsName = "Newtonsoft.Json.Tests.Roslyn"; BuildFunction = "NetCliBuild"; TestsFunction = "NetCliTests"; NuGetDir = "netstandard1.0,netstandard1.3"; Framework=$null; Enabled=$true},
@{Name = "Newtonsoft.Json"; TestsName = "Newtonsoft.Json.Tests"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; NuGetDir = "net45"; Framework="net-4.0"; Enabled=$true},
@{Name = "Newtonsoft.Json.Portable"; TestsName = "Newtonsoft.Json.Tests.Portable"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; NuGetDir = "portable-net45+win8+wpa81+wp8"; Framework="net-4.0"; Enabled=$true},
@{Name = "Newtonsoft.Json.Net40"; TestsName = "Newtonsoft.Json.Tests.Net40"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; NuGetDir = "net40"; Framework="net-4.0"; Enabled=$true},
diff --git a/Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs
index 63c0a038..46981876 100644
--- a/Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs
+++ b/Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs
@@ -239,7 +239,6 @@ namespace Newtonsoft.Json.Tests.Linq
Assert.AreEqual(5, (int)a[1].Previous);
Assert.AreEqual(2, a[2].BeforeSelf().Count());
- //Assert.AreEqual(2, a[2].AfterSelf().Count());
}
[Test]
@@ -316,6 +315,8 @@ namespace Newtonsoft.Json.Tests.Linq
Assert.AreEqual(true, (bool)(new JValue(1.0)));
Assert.AreEqual(true, (bool)(new JValue("true")));
Assert.AreEqual(true, (bool)(new JValue(true)));
+ Assert.AreEqual(true, (bool)(new JValue(2)));
+ Assert.AreEqual(false, (bool)(new JValue(0)));
Assert.AreEqual(1, (int)(new JValue(1)));
Assert.AreEqual(1, (int)(new JValue(1.0)));
Assert.AreEqual(1, (int)(new JValue("1")));
diff --git a/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Roslyn.csproj b/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Roslyn.csproj
index bbbde779..f6881036 100644
--- a/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Roslyn.csproj
+++ b/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Roslyn.csproj
@@ -97,15 +97,16 @@
NET20;$(AdditionalConstants)
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
diff --git a/Src/Newtonsoft.Json.Tests/Schema/JsonSchemaGeneratorTests.cs b/Src/Newtonsoft.Json.Tests/Schema/JsonSchemaGeneratorTests.cs
index e1cc566a..6e24c120 100644
--- a/Src/Newtonsoft.Json.Tests/Schema/JsonSchemaGeneratorTests.cs
+++ b/Src/Newtonsoft.Json.Tests/Schema/JsonSchemaGeneratorTests.cs
@@ -49,8 +49,8 @@ using Extensions = Newtonsoft.Json.Schema.Extensions;
using Newtonsoft.Json.Utilities.LinqBridge;
#else
using System.Linq;
-
#endif
+using Newtonsoft.Json.Tests.Serialization;
namespace Newtonsoft.Json.Tests.Schema
{
@@ -312,14 +312,14 @@ namespace Newtonsoft.Json.Tests.Schema
Assert.IsTrue(v.IsValid(schema));
}
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
[Test]
public void GenerateSchemaForISerializable()
{
JsonSchemaGenerator generator = new JsonSchemaGenerator();
generator.UndefinedSchemaIdHandling = UndefinedSchemaIdHandling.UseTypeName;
- JsonSchema schema = generator.Generate(typeof(Exception));
+ JsonSchema schema = generator.Generate(typeof(ISerializableTestObject));
Assert.AreEqual(JsonSchemaType.Object, schema.Type);
Assert.AreEqual(true, schema.AllowAdditionalProperties);
@@ -338,7 +338,9 @@ namespace Newtonsoft.Json.Tests.Schema
Assert.AreEqual(JsonSchemaType.Null, schema.Type);
}
+#endif
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
public class CustomDirectoryInfoMapper : DefaultContractResolver
{
public CustomDirectoryInfoMapper()
@@ -477,7 +479,7 @@ namespace Newtonsoft.Json.Tests.Schema
generator.UndefinedSchemaIdHandling = UndefinedSchemaIdHandling.UseTypeName;
generator.ContractResolver = new CamelCasePropertyNamesContractResolver()
{
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
IgnoreSerializableAttribute = true
#endif
};
@@ -522,55 +524,50 @@ namespace Newtonsoft.Json.Tests.Schema
}", json);
}
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
[Test]
public void GenerateSchemaSerializable()
{
JsonSchemaGenerator generator = new JsonSchemaGenerator();
- generator.ContractResolver = new DefaultContractResolver
+
+ DefaultContractResolver contractResolver = new DefaultContractResolver
{
IgnoreSerializableAttribute = false
};
+
+ generator.ContractResolver = contractResolver;
generator.UndefinedSchemaIdHandling = UndefinedSchemaIdHandling.UseTypeName;
- JsonSchema schema = generator.Generate(typeof(Version), true);
+ JsonSchema schema = generator.Generate(typeof(SerializableTestObject), true);
string json = schema.ToString();
StringAssert.AreEqual(@"{
- ""id"": ""System.Version"",
+ ""id"": ""Newtonsoft.Json.Tests.Schema.SerializableTestObject"",
""type"": [
""object"",
""null""
],
""additionalProperties"": false,
""properties"": {
- ""_Major"": {
+ ""_name"": {
""required"": true,
- ""type"": ""integer""
- },
- ""_Minor"": {
- ""required"": true,
- ""type"": ""integer""
- },
- ""_Build"": {
- ""required"": true,
- ""type"": ""integer""
- },
- ""_Revision"": {
- ""required"": true,
- ""type"": ""integer""
+ ""type"": [
+ ""string"",
+ ""null""
+ ]
}
}
}", json);
JTokenWriter jsonWriter = new JTokenWriter();
JsonSerializer serializer = new JsonSerializer();
- serializer.ContractResolver = new DefaultContractResolver
+ serializer.ContractResolver = contractResolver;
+ serializer.Serialize(jsonWriter, new SerializableTestObject
{
- IgnoreSerializableAttribute = false
- };
- serializer.Serialize(jsonWriter, new Version(1, 2, 3, 4));
+ Name = "Name!"
+ });
+
List errors = new List();
jsonWriter.Token.Validate(schema, (sender, args) => errors.Add(args.Message));
@@ -578,17 +575,11 @@ namespace Newtonsoft.Json.Tests.Schema
Assert.AreEqual(0, errors.Count);
StringAssert.AreEqual(@"{
- ""_Major"": 1,
- ""_Minor"": 2,
- ""_Build"": 3,
- ""_Revision"": 4
+ ""_name"": ""Name!""
}", jsonWriter.Token.ToString());
- Version version = jsonWriter.Token.ToObject(serializer);
- Assert.AreEqual(1, version.Major);
- Assert.AreEqual(2, version.Minor);
- Assert.AreEqual(3, version.Build);
- Assert.AreEqual(4, version.Revision);
+ SerializableTestObject c = jsonWriter.Token.ToObject(serializer);
+ Assert.AreEqual("Name!", c.Name);
}
#endif
@@ -845,6 +836,20 @@ namespace Newtonsoft.Json.Tests.Schema
public class BulkInsertTask_DSL
{
}
+
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
+ [Serializable]
+ public sealed class SerializableTestObject
+ {
+ private string _name;
+
+ public string Name
+ {
+ get { return _name; }
+ set { _name = value; }
+ }
+ }
+#endif
}
#pragma warning restore 618
\ No newline at end of file
diff --git a/Src/Newtonsoft.Json.Tests/Serialization/ContractResolverTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/ContractResolverTests.cs
index 63c0e6b3..7fb7bf01 100644
--- a/Src/Newtonsoft.Json.Tests/Serialization/ContractResolverTests.cs
+++ b/Src/Newtonsoft.Json.Tests/Serialization/ContractResolverTests.cs
@@ -109,12 +109,35 @@ namespace Newtonsoft.Json.Tests.Serialization
#if !NET20
[DataMember(Name = "CustomerAddress1")]
#endif
- public string AddressLine1 { get; set; }
+ public string AddressLine1 { get; set; }
}
[TestFixture]
public class ContractResolverTests : TestFixtureBase
{
+#if !(PORTABLE) || NETSTANDARD1_1
+ [Test]
+ public void ResolveSerializableContract()
+ {
+ DefaultContractResolver contractResolver = new DefaultContractResolver();
+ JsonContract contract = contractResolver.ResolveContract(typeof(ISerializableTestObject));
+
+ Assert.AreEqual(JsonContractType.Serializable, contract.ContractType);
+ }
+
+ [Test]
+ public void ResolveObjectContractWithFieldsSerialization()
+ {
+ DefaultContractResolver contractResolver = new DefaultContractResolver
+ {
+ IgnoreSerializableAttribute = false
+ };
+ JsonObjectContract contract = (JsonObjectContract)contractResolver.ResolveContract(typeof(AnswerFilterModel));
+
+ Assert.AreEqual(MemberSerialization.Fields, contract.MemberSerialization);
+ }
+#endif
+
[Test]
public void JsonPropertyDefaultValue()
{
diff --git a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs
index e56b9f44..0e6fe17c 100644
--- a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs
+++ b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs
@@ -4158,7 +4158,7 @@ Path '', line 1, position 1.");
{
ContractResolver = new DefaultContractResolver
{
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
IgnoreSerializableAttribute = true
#endif
}
@@ -4175,7 +4175,7 @@ Path '', line 1, position 1.");
{
ContractResolver = new DefaultContractResolver
{
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
IgnoreSerializableAttribute = true
#endif
}
@@ -4192,7 +4192,7 @@ Path '', line 1, position 1.");
{
ContractResolver = new DefaultContractResolver
{
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
IgnoreSerializableAttribute = true
#endif
}
@@ -4984,84 +4984,7 @@ Path '', line 1, position 1.");
Assert.AreEqual("value", newModelStateDictionary["key"]);
}
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
- public class ISerializableTestObject : ISerializable
- {
- internal string _stringValue;
- internal int _intValue;
- internal DateTimeOffset _dateTimeOffsetValue;
- internal Person _personValue;
- internal Person _nullPersonValue;
- internal int? _nullableInt;
- internal bool _booleanValue;
- internal byte _byteValue;
- internal char _charValue;
- internal DateTime _dateTimeValue;
- internal decimal _decimalValue;
- internal short _shortValue;
- internal long _longValue;
- internal sbyte _sbyteValue;
- internal float _floatValue;
- internal ushort _ushortValue;
- internal uint _uintValue;
- internal ulong _ulongValue;
-
- public ISerializableTestObject(string stringValue, int intValue, DateTimeOffset dateTimeOffset, Person personValue)
- {
- _stringValue = stringValue;
- _intValue = intValue;
- _dateTimeOffsetValue = dateTimeOffset;
- _personValue = personValue;
- _dateTimeValue = new DateTime(0, DateTimeKind.Utc);
- }
-
- protected ISerializableTestObject(SerializationInfo info, StreamingContext context)
- {
- _stringValue = info.GetString("stringValue");
- _intValue = info.GetInt32("intValue");
- _dateTimeOffsetValue = (DateTimeOffset)info.GetValue("dateTimeOffsetValue", typeof(DateTimeOffset));
- _personValue = (Person)info.GetValue("personValue", typeof(Person));
- _nullPersonValue = (Person)info.GetValue("nullPersonValue", typeof(Person));
- _nullableInt = (int?)info.GetValue("nullableInt", typeof(int?));
-
- _booleanValue = info.GetBoolean("booleanValue");
- _byteValue = info.GetByte("byteValue");
- _charValue = info.GetChar("charValue");
- _dateTimeValue = info.GetDateTime("dateTimeValue");
- _decimalValue = info.GetDecimal("decimalValue");
- _shortValue = info.GetInt16("shortValue");
- _longValue = info.GetInt64("longValue");
- _sbyteValue = info.GetSByte("sbyteValue");
- _floatValue = info.GetSingle("floatValue");
- _ushortValue = info.GetUInt16("ushortValue");
- _uintValue = info.GetUInt32("uintValue");
- _ulongValue = info.GetUInt64("ulongValue");
- }
-
- public void GetObjectData(SerializationInfo info, StreamingContext context)
- {
- info.AddValue("stringValue", _stringValue);
- info.AddValue("intValue", _intValue);
- info.AddValue("dateTimeOffsetValue", _dateTimeOffsetValue);
- info.AddValue("personValue", _personValue);
- info.AddValue("nullPersonValue", _nullPersonValue);
- info.AddValue("nullableInt", null);
-
- info.AddValue("booleanValue", _booleanValue);
- info.AddValue("byteValue", _byteValue);
- info.AddValue("charValue", _charValue);
- info.AddValue("dateTimeValue", _dateTimeValue);
- info.AddValue("decimalValue", _decimalValue);
- info.AddValue("shortValue", _shortValue);
- info.AddValue("longValue", _longValue);
- info.AddValue("sbyteValue", _sbyteValue);
- info.AddValue("floatValue", _floatValue);
- info.AddValue("ushortValue", _ushortValue);
- info.AddValue("uintValue", _uintValue);
- info.AddValue("ulongValue", _ulongValue);
- }
- }
-
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
#if DEBUG
[Test]
public void SerializeISerializableInPartialTrustWithIgnoreInterface()
@@ -5094,7 +5017,7 @@ Path '', line 1, position 1.");
}
finally
{
- JsonTypeReflector.SetFullyTrusted(true);
+ JsonTypeReflector.SetFullyTrusted(null);
}
}
@@ -5114,7 +5037,7 @@ Path '', line 1, position 1.");
}
finally
{
- JsonTypeReflector.SetFullyTrusted(true);
+ JsonTypeReflector.SetFullyTrusted(null);
}
}
@@ -5135,7 +5058,7 @@ Path '', line 1, position 1.");
}
finally
{
- JsonTypeReflector.SetFullyTrusted(true);
+ JsonTypeReflector.SetFullyTrusted(null);
}
}
#endif
@@ -8091,24 +8014,19 @@ Path '', line 1, position 1.");
Assert.AreEqual("", s);
}
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
[Test]
public void SerializeAndDeserializeWithAttributes()
{
var testObj = new PersonSerializable() { Name = "John Doe", Age = 28 };
- var objDeserialized = SerializeAndDeserialize(testObj);
+
+ var json = Serialize(testObj);
+ var objDeserialized = Deserialize(json);
Assert.AreEqual(testObj.Name, objDeserialized.Name);
Assert.AreEqual(0, objDeserialized.Age);
}
- private T SerializeAndDeserialize(T obj)
- where T : class
- {
- var json = Serialize(obj);
- return Deserialize(json);
- }
-
private string Serialize(T obj)
where T : class
{
@@ -8622,15 +8540,18 @@ This is just junk, though.";
public void SerializeTupleWithSerializableAttribute()
{
var tuple = Tuple.Create(500);
+
+ SerializableContractResolver contractResolver = new SerializableContractResolver();
+
var json = JsonConvert.SerializeObject(tuple, new JsonSerializerSettings
{
- ContractResolver = new SerializableContractResolver()
+ ContractResolver = contractResolver
});
Assert.AreEqual(@"{""m_Item1"":500}", json);
var obj = JsonConvert.DeserializeObject>(json, new JsonSerializerSettings
{
- ContractResolver = new SerializableContractResolver()
+ ContractResolver = contractResolver
});
Assert.AreEqual(500, obj.Item1);
}
@@ -8891,7 +8812,7 @@ This is just junk, though.";
Assert.AreEqual(@"{""First"":""One"",""Second"":2}", json);
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
DefaultContractResolver r = new DefaultContractResolver();
r.IgnoreSerializableAttribute = false;
@@ -9007,7 +8928,7 @@ This is just junk, though.";
Assert.AreEqual(1234567890.123456m, d);
}
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
[Test]
public void DontSerializeStaticFields()
{
@@ -10334,4 +10255,83 @@ This is just junk, though.";
public string DataSource { get; }
public string Project { get; }
}
+
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
+ public class ISerializableTestObject : ISerializable
+ {
+ internal string _stringValue;
+ internal int _intValue;
+ internal DateTimeOffset _dateTimeOffsetValue;
+ internal Person _personValue;
+ internal Person _nullPersonValue;
+ internal int? _nullableInt;
+ internal bool _booleanValue;
+ internal byte _byteValue;
+ internal char _charValue;
+ internal DateTime _dateTimeValue;
+ internal decimal _decimalValue;
+ internal short _shortValue;
+ internal long _longValue;
+ internal sbyte _sbyteValue;
+ internal float _floatValue;
+ internal ushort _ushortValue;
+ internal uint _uintValue;
+ internal ulong _ulongValue;
+
+ public ISerializableTestObject(string stringValue, int intValue, DateTimeOffset dateTimeOffset, Person personValue)
+ {
+ _stringValue = stringValue;
+ _intValue = intValue;
+ _dateTimeOffsetValue = dateTimeOffset;
+ _personValue = personValue;
+ _dateTimeValue = new DateTime(0, DateTimeKind.Utc);
+ }
+
+ protected ISerializableTestObject(SerializationInfo info, StreamingContext context)
+ {
+ _stringValue = info.GetString("stringValue");
+ _intValue = info.GetInt32("intValue");
+ _dateTimeOffsetValue = (DateTimeOffset)info.GetValue("dateTimeOffsetValue", typeof(DateTimeOffset));
+ _personValue = (Person)info.GetValue("personValue", typeof(Person));
+ _nullPersonValue = (Person)info.GetValue("nullPersonValue", typeof(Person));
+ _nullableInt = (int?)info.GetValue("nullableInt", typeof(int?));
+
+ _booleanValue = info.GetBoolean("booleanValue");
+ _byteValue = info.GetByte("byteValue");
+ _charValue = info.GetChar("charValue");
+ _dateTimeValue = info.GetDateTime("dateTimeValue");
+ _decimalValue = info.GetDecimal("decimalValue");
+ _shortValue = info.GetInt16("shortValue");
+ _longValue = info.GetInt64("longValue");
+ _sbyteValue = info.GetSByte("sbyteValue");
+ _floatValue = info.GetSingle("floatValue");
+ _ushortValue = info.GetUInt16("ushortValue");
+ _uintValue = info.GetUInt32("uintValue");
+ _ulongValue = info.GetUInt64("ulongValue");
+ }
+
+ public void GetObjectData(SerializationInfo info, StreamingContext context)
+ {
+ info.AddValue("stringValue", _stringValue);
+ info.AddValue("intValue", _intValue);
+ info.AddValue("dateTimeOffsetValue", _dateTimeOffsetValue);
+ info.AddValue("personValue", _personValue);
+ info.AddValue("nullPersonValue", _nullPersonValue);
+ info.AddValue("nullableInt", null);
+
+ info.AddValue("booleanValue", _booleanValue);
+ info.AddValue("byteValue", _byteValue);
+ info.AddValue("charValue", _charValue);
+ info.AddValue("dateTimeValue", _dateTimeValue);
+ info.AddValue("decimalValue", _decimalValue);
+ info.AddValue("shortValue", _shortValue);
+ info.AddValue("longValue", _longValue);
+ info.AddValue("sbyteValue", _sbyteValue);
+ info.AddValue("floatValue", _floatValue);
+ info.AddValue("ushortValue", _ushortValue);
+ info.AddValue("uintValue", _uintValue);
+ info.AddValue("ulongValue", _ulongValue);
+ }
+ }
+#endif
}
\ No newline at end of file
diff --git a/Src/Newtonsoft.Json.Tests/Serialization/WebApiIntegrationTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/WebApiIntegrationTests.cs
index 0e0a6c6c..180158c0 100644
--- a/Src/Newtonsoft.Json.Tests/Serialization/WebApiIntegrationTests.cs
+++ b/Src/Newtonsoft.Json.Tests/Serialization/WebApiIntegrationTests.cs
@@ -75,7 +75,7 @@ namespace Newtonsoft.Json.Tests.Serialization
{
ContractResolver = new DefaultContractResolver
{
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
IgnoreSerializableAttribute = false
#endif
}
@@ -84,7 +84,7 @@ namespace Newtonsoft.Json.Tests.Serialization
Assert.AreEqual(expected, json);
}
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
[Test]
public void SerializeInheritedType()
{
@@ -114,7 +114,7 @@ namespace Newtonsoft.Json.Tests.Serialization
}
}
-#if !(PORTABLE || DNXCORE50 || PORTABLE40)
+#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_1
[Serializable]
#else
[JsonObject(MemberSerialization.Fields)]
@@ -143,7 +143,7 @@ namespace Newtonsoft.Json.Tests.Serialization
#else
[JsonIgnore]
#endif
- public string nonSerializedField;
+ public string nonSerializedField;
public bool Equals(SerializableType other)
{
diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/AnswerFilterModel.cs b/Src/Newtonsoft.Json.Tests/TestObjects/AnswerFilterModel.cs
index d0859ecc..23860640 100644
--- a/Src/Newtonsoft.Json.Tests/TestObjects/AnswerFilterModel.cs
+++ b/Src/Newtonsoft.Json.Tests/TestObjects/AnswerFilterModel.cs
@@ -34,7 +34,7 @@ using System.Linq;
namespace Newtonsoft.Json.Tests.TestObjects
{
-#if !(PORTABLE || DNXCORE50)
+#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_1
[Serializable]
public class AnswerFilterModel
{
diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/PersonSerializable.cs b/Src/Newtonsoft.Json.Tests/TestObjects/PersonSerializable.cs
index 8c6694ac..4da204ab 100644
--- a/Src/Newtonsoft.Json.Tests/TestObjects/PersonSerializable.cs
+++ b/Src/Newtonsoft.Json.Tests/TestObjects/PersonSerializable.cs
@@ -27,7 +27,7 @@ using System;
namespace Newtonsoft.Json.Tests.TestObjects
{
-#if !(PORTABLE || DNXCORE50)
+#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_1
[Serializable]
public class PersonSerializable
{
diff --git a/Src/Newtonsoft.Json/Converters/BinaryConverter.cs b/Src/Newtonsoft.Json/Converters/BinaryConverter.cs
index f0f73c46..97e20d8d 100644
--- a/Src/Newtonsoft.Json/Converters/BinaryConverter.cs
+++ b/Src/Newtonsoft.Json/Converters/BinaryConverter.cs
@@ -23,12 +23,14 @@
// OTHER DEALINGS IN THE SOFTWARE.
#endregion
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_LINQ || HAVE_ADO_NET
using System;
-using System.Data.SqlTypes;
using System.Globalization;
using Newtonsoft.Json.Utilities;
using System.Collections.Generic;
+#if HAVE_ADO_NET
+using System.Data.SqlTypes;
+#endif
namespace Newtonsoft.Json.Converters
{
@@ -71,10 +73,12 @@ namespace Newtonsoft.Json.Converters
return (byte[])_reflectionObject.GetValue(value, BinaryToArrayName);
}
#endif
+#if HAVE_ADO_NET
if (value is SqlBinary)
{
return ((SqlBinary)value).Value;
}
+#endif
throw new JsonSerializationException("Unexpected value type when writing binary: {0}".FormatWith(CultureInfo.InvariantCulture, value.GetType()));
}
@@ -140,10 +144,12 @@ namespace Newtonsoft.Json.Converters
}
#endif
+#if HAVE_ADO_NET
if (t == typeof(SqlBinary))
{
return new SqlBinary(data);
}
+#endif
throw JsonSerializationException.Create(reader, "Unexpected object type when writing binary: {0}".FormatWith(CultureInfo.InvariantCulture, objectType));
}
@@ -187,11 +193,12 @@ namespace Newtonsoft.Json.Converters
return true;
}
#endif
-
+#if HAVE_ADO_NET
if (objectType == typeof(SqlBinary) || objectType == typeof(SqlBinary?))
{
return true;
}
+#endif
return false;
}
diff --git a/Src/Newtonsoft.Json/FormatterAssemblyStyle.cs b/Src/Newtonsoft.Json/FormatterAssemblyStyle.cs
index db9972df..d03a2691 100644
--- a/Src/Newtonsoft.Json/FormatterAssemblyStyle.cs
+++ b/Src/Newtonsoft.Json/FormatterAssemblyStyle.cs
@@ -1,5 +1,5 @@
-#if !HAVE_BINARY_SERIALIZATION
+#if HAVE_OBSOLETE_FORMATTER_ASSEMBLY_STYLE
namespace System.Runtime.Serialization.Formatters
{
diff --git a/Src/Newtonsoft.Json/JsonConvert.cs b/Src/Newtonsoft.Json/JsonConvert.cs
index 322a31b1..608bf0db 100644
--- a/Src/Newtonsoft.Json/JsonConvert.cs
+++ b/Src/Newtonsoft.Json/JsonConvert.cs
@@ -857,7 +857,7 @@ namespace Newtonsoft.Json
#endregion
#region Xml
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_XML_DOCUMENT
///
/// Serializes the to a JSON string.
///
diff --git a/Src/Newtonsoft.Json/JsonException.cs b/Src/Newtonsoft.Json/JsonException.cs
index e0ce5f40..a5fb5775 100644
--- a/Src/Newtonsoft.Json/JsonException.cs
+++ b/Src/Newtonsoft.Json/JsonException.cs
@@ -35,7 +35,7 @@ namespace Newtonsoft.Json
///
/// The exception thrown when an error occurs during JSON serialization or deserialization.
///
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_BINARY_EXCEPTION_SERIALIZATION
[Serializable]
#endif
public class JsonException : Exception
@@ -68,7 +68,7 @@ namespace Newtonsoft.Json
{
}
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_BINARY_EXCEPTION_SERIALIZATION
///
/// Initializes a new instance of the class.
///
diff --git a/Src/Newtonsoft.Json/JsonReaderException.cs b/Src/Newtonsoft.Json/JsonReaderException.cs
index 3de4f168..f73107ba 100644
--- a/Src/Newtonsoft.Json/JsonReaderException.cs
+++ b/Src/Newtonsoft.Json/JsonReaderException.cs
@@ -33,7 +33,7 @@ namespace Newtonsoft.Json
///
/// The exception thrown when an error occurs while reading JSON text.
///
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_BINARY_EXCEPTION_SERIALIZATION
[Serializable]
#endif
public class JsonReaderException : JsonException
@@ -84,7 +84,7 @@ namespace Newtonsoft.Json
{
}
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_BINARY_EXCEPTION_SERIALIZATION
///
/// Initializes a new instance of the class.
///
diff --git a/Src/Newtonsoft.Json/JsonSerializationException.cs b/Src/Newtonsoft.Json/JsonSerializationException.cs
index 9ca772d9..3a4acb97 100644
--- a/Src/Newtonsoft.Json/JsonSerializationException.cs
+++ b/Src/Newtonsoft.Json/JsonSerializationException.cs
@@ -33,7 +33,7 @@ namespace Newtonsoft.Json
///
/// The exception thrown when an error occurs during JSON serialization or deserialization.
///
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_BINARY_EXCEPTION_SERIALIZATION
[Serializable]
#endif
public class JsonSerializationException : JsonException
@@ -66,7 +66,7 @@ namespace Newtonsoft.Json
{
}
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_BINARY_EXCEPTION_SERIALIZATION
///
/// Initializes a new instance of the class.
///
diff --git a/Src/Newtonsoft.Json/JsonWriterException.cs b/Src/Newtonsoft.Json/JsonWriterException.cs
index cbdce1ca..4312b6ba 100644
--- a/Src/Newtonsoft.Json/JsonWriterException.cs
+++ b/Src/Newtonsoft.Json/JsonWriterException.cs
@@ -33,7 +33,7 @@ namespace Newtonsoft.Json
///
/// The exception thrown when an error occurs while writing JSON text.
///
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_BINARY_EXCEPTION_SERIALIZATION
[Serializable]
#endif
public class JsonWriterException : JsonException
@@ -72,7 +72,7 @@ namespace Newtonsoft.Json
{
}
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_BINARY_EXCEPTION_SERIALIZATION
///
/// Initializes a new instance of the class.
///
diff --git a/Src/Newtonsoft.Json/Newtonsoft.Json.Net20.csproj b/Src/Newtonsoft.Json/Newtonsoft.Json.Net20.csproj
index 7ffc0644..c9c84a64 100644
--- a/Src/Newtonsoft.Json/Newtonsoft.Json.Net20.csproj
+++ b/Src/Newtonsoft.Json/Newtonsoft.Json.Net20.csproj
@@ -42,7 +42,7 @@
1.0.0.%2a
false
true
- NET20;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BINARY_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_DB_NULL_TYPE_CODE;HAVE_EMPTY_TYPES;HAVE_FULL_REFLECTION;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_MEMORY_BARRIER;
+ NET20;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BINARY_FORMATTER;HAVE_BINARY_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_DB_NULL_TYPE_CODE;HAVE_EMPTY_TYPES;HAVE_FULL_REFLECTION;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_MEMORY_BARRIER;
HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_REFLECTION_EMIT;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_XML_DOCUMENT
diff --git a/Src/Newtonsoft.Json/Newtonsoft.Json.Net35.csproj b/Src/Newtonsoft.Json/Newtonsoft.Json.Net35.csproj
index 9ba9b0c0..4fa9733e 100644
--- a/Src/Newtonsoft.Json/Newtonsoft.Json.Net35.csproj
+++ b/Src/Newtonsoft.Json/Newtonsoft.Json.Net35.csproj
@@ -44,7 +44,7 @@
true
- NET35;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BINARY_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_EMPTY_TYPES;HAVE_ENTITY_FRAMEWORK;HAVE_FULL_REFLECTION;HAVE_HASH_SET;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_INOTIFY_PROPERTY_CHANGING;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_REFLECTION_EMIT;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_TIME_ZONE_INFO;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_XLINQ;HAVE_XML_DOCUMENT
+ NET35;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BINARY_FORMATTER;HAVE_BINARY_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_EMPTY_TYPES;HAVE_ENTITY_FRAMEWORK;HAVE_FULL_REFLECTION;HAVE_HASH_SET;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_INOTIFY_PROPERTY_CHANGING;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_REFLECTION_EMIT;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_TIME_ZONE_INFO;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_XLINQ;HAVE_XML_DOCUMENT
true
diff --git a/Src/Newtonsoft.Json/Newtonsoft.Json.Net40.csproj b/Src/Newtonsoft.Json/Newtonsoft.Json.Net40.csproj
index bd98d1df..9ac82551 100644
--- a/Src/Newtonsoft.Json/Newtonsoft.Json.Net40.csproj
+++ b/Src/Newtonsoft.Json/Newtonsoft.Json.Net40.csproj
@@ -44,7 +44,7 @@
true
- NET40;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BIG_INTEGER;HAVE_BINARY_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_CONCURRENT_COLLECTIONS;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_DYNAMIC;HAVE_EMPTY_TYPES;HAVE_ENTITY_FRAMEWORK;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_FULL_REFLECTION;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_INOTIFY_PROPERTY_CHANGING;HAVE_ISET;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_REFLECTION_EMIT;HAVE_SECURITY_SAFE_CRITICAL_ATTRIBUTE;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_XML_DOCUMENT
+ NET40;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BIG_INTEGER;HAVE_BINARY_FORMATTER;HAVE_BINARY_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_CONCURRENT_COLLECTIONS;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_DYNAMIC;HAVE_EMPTY_TYPES;HAVE_ENTITY_FRAMEWORK;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_FULL_REFLECTION;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_INOTIFY_PROPERTY_CHANGING;HAVE_ISET;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_REFLECTION_EMIT;HAVE_SECURITY_SAFE_CRITICAL_ATTRIBUTE;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_XML_DOCUMENT
true
diff --git a/Src/Newtonsoft.Json/Newtonsoft.Json.Portable.csproj b/Src/Newtonsoft.Json/Newtonsoft.Json.Portable.csproj
index d568907e..73ca82e5 100644
--- a/Src/Newtonsoft.Json/Newtonsoft.Json.Portable.csproj
+++ b/Src/Newtonsoft.Json/Newtonsoft.Json.Portable.csproj
@@ -13,7 +13,7 @@
512
{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
11.0
- PORTABLE;HAVE_ASYNC;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DYNAMIC;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_GUID_TRY_PARSE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_ISET;HAVE_LINQ;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_BINDER;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_INOTIFY_COLLECTION_CHANGED
+ PORTABLE;HAVE_ASYNC;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DYNAMIC;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_GUID_TRY_PARSE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_ISET;HAVE_LINQ;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_OBSOLETE_FORMATTER_ASSEMBLY_STYLE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_BINDER;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_INOTIFY_COLLECTION_CHANGED
true
diff --git a/Src/Newtonsoft.Json/Newtonsoft.Json.Roslyn.csproj b/Src/Newtonsoft.Json/Newtonsoft.Json.Roslyn.csproj
index 273ed447..4d3bfda6 100644
--- a/Src/Newtonsoft.Json/Newtonsoft.Json.Roslyn.csproj
+++ b/Src/Newtonsoft.Json/Newtonsoft.Json.Roslyn.csproj
@@ -1,7 +1,7 @@
- net45;net40;net35;net20;netstandard1.0;netstandard1.1;portable-net45+win8+wpa81+wp8
- netstandard1.0;netstandard1.1
+ net45;net40;net35;net20;netstandard1.0;netstandard1.3;portable-net45+win8+wpa81+wp8
+ netstandard1.0;netstandard1.3
10.0.1
beta1
@@ -25,57 +25,58 @@
Json.NET
- HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_ASYNC;HAVE_BIG_INTEGER;HAVE_BINARY_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_CONCURRENT_COLLECTIONS;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_DYNAMIC;HAVE_EMPTY_TYPES;HAVE_ENTITY_FRAMEWORK;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_FULL_REFLECTION;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_INOTIFY_PROPERTY_CHANGING;HAVE_ISET;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_EMIT;HAVE_SECURITY_SAFE_CRITICAL_ATTRIBUTE;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_XML_DOCUMENT;$(AdditionalConstants)
+ HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_ASYNC;HAVE_BIG_INTEGER;HAVE_BINARY_FORMATTER;HAVE_BINARY_SERIALIZATION;HAVE_BINARY_EXCEPTION_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_CONCURRENT_COLLECTIONS;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_DYNAMIC;HAVE_EMPTY_TYPES;HAVE_ENTITY_FRAMEWORK;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_FULL_REFLECTION;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_INOTIFY_PROPERTY_CHANGING;HAVE_ISET;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_EMIT;HAVE_SECURITY_SAFE_CRITICAL_ATTRIBUTE;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_XML_DOCUMENT;$(AdditionalConstants)
- NET40;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BIG_INTEGER;HAVE_BINARY_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_CONCURRENT_COLLECTIONS;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_DYNAMIC;HAVE_EMPTY_TYPES;HAVE_ENTITY_FRAMEWORK;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_FULL_REFLECTION;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_INOTIFY_PROPERTY_CHANGING;HAVE_ISET;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_REFLECTION_EMIT;HAVE_SECURITY_SAFE_CRITICAL_ATTRIBUTE;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_XML_DOCUMENT;$(AdditionalConstants)
+ NET40;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BIG_INTEGER;HAVE_BINARY_FORMATTER;HAVE_BINARY_SERIALIZATION;HAVE_BINARY_EXCEPTION_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_CONCURRENT_COLLECTIONS;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_DYNAMIC;HAVE_EMPTY_TYPES;HAVE_ENTITY_FRAMEWORK;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_FULL_REFLECTION;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_INOTIFY_PROPERTY_CHANGING;HAVE_ISET;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_REFLECTION_EMIT;HAVE_SECURITY_SAFE_CRITICAL_ATTRIBUTE;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_XML_DOCUMENT;$(AdditionalConstants)
- NET35;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BINARY_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_EMPTY_TYPES;HAVE_ENTITY_FRAMEWORK;HAVE_FULL_REFLECTION;HAVE_HASH_SET;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_INOTIFY_PROPERTY_CHANGING;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_REFLECTION_EMIT;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_TIME_ZONE_INFO;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_XLINQ;HAVE_XML_DOCUMENT;$(AdditionalConstants)
+ NET35;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BINARY_FORMATTER;HAVE_BINARY_SERIALIZATION;HAVE_BINARY_EXCEPTION_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_EMPTY_TYPES;HAVE_ENTITY_FRAMEWORK;HAVE_FULL_REFLECTION;HAVE_HASH_SET;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_INOTIFY_PROPERTY_CHANGING;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_REFLECTION_EMIT;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_TIME_ZONE_INFO;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_XLINQ;HAVE_XML_DOCUMENT;$(AdditionalConstants)
- NET20;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BINARY_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_DB_NULL_TYPE_CODE;HAVE_EMPTY_TYPES;HAVE_FULL_REFLECTION;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_MEMORY_BARRIER;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_REFLECTION_EMIT;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_XML_DOCUMENT;$(AdditionalConstants)
+ NET20;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BINARY_FORMATTER;HAVE_BINARY_SERIALIZATION;HAVE_BINARY_EXCEPTION_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_DB_NULL_TYPE_CODE;HAVE_EMPTY_TYPES;HAVE_FULL_REFLECTION;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_MEMORY_BARRIER;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_REFLECTION_EMIT;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_XML_DOCUMENT;$(AdditionalConstants)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Json.NET .NET Standard 1.0
true
- NETSTANDARD1_0;PORTABLE;HAVE_ASYNC;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DYNAMIC;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_ISET;HAVE_LINQ;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_BINDER;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;$(AdditionalConstants)
+ NETSTANDARD1_0;PORTABLE;HAVE_ASYNC;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DYNAMIC;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_ISET;HAVE_LINQ;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_BINDER;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_OBSOLETE_FORMATTER_ASSEMBLY_STYLE;$(AdditionalConstants)
-
-
+
+
+
-
- Json.NET .NET Standard 1.1
+
+ Json.NET .NET Standard 1.3
true
- NETSTANDARD1_1;PORTABLE;HAVE_ASYNC;HAVE_BIG_INTEGER;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DYNAMIC;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_ISET;HAVE_LINQ;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_BINDER;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;$(AdditionalConstants)
+ NETSTANDARD1_1;PORTABLE;HAVE_ASYNC;HAVE_BIG_INTEGER;HAVE_BINARY_SERIALIZATION;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DYNAMIC;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_ISET;HAVE_LINQ;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_BINDER;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_OBSOLETE_FORMATTER_ASSEMBLY_STYLE;$(AdditionalConstants)
- PORTABLE;HAVE_ASYNC;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DYNAMIC;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_GUID_TRY_PARSE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_ISET;HAVE_LINQ;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_BINDER;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_INOTIFY_COLLECTION_CHANGED;$(AdditionalConstants)
+ PORTABLE;HAVE_ASYNC;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DYNAMIC;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_GUID_TRY_PARSE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_ISET;HAVE_LINQ;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_BINDER;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_OBSOLETE_FORMATTER_ASSEMBLY_STYLE;$(AdditionalConstants)
.NETPortable
v4.5
Profile259
diff --git a/Src/Newtonsoft.Json/Newtonsoft.Json.csproj b/Src/Newtonsoft.Json/Newtonsoft.Json.csproj
index 30ffa62f..ca30eb57 100644
--- a/Src/Newtonsoft.Json/Newtonsoft.Json.csproj
+++ b/Src/Newtonsoft.Json/Newtonsoft.Json.csproj
@@ -11,7 +11,7 @@
Newtonsoft.Json
v4.5
512
- HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_ASYNC;HAVE_BIG_INTEGER;HAVE_BINARY_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_CONCURRENT_COLLECTIONS;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_DYNAMIC;HAVE_EMPTY_TYPES;HAVE_ENTITY_FRAMEWORK;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_FULL_REFLECTION;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_INOTIFY_PROPERTY_CHANGING;HAVE_ISET;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_EMIT;HAVE_SECURITY_SAFE_CRITICAL_ATTRIBUTE;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_XML_DOCUMENT
+ HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_ASYNC;HAVE_BIG_INTEGER;HAVE_BINARY_FORMATTER;HAVE_BINARY_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_CONCURRENT_COLLECTIONS;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_DYNAMIC;HAVE_EMPTY_TYPES;HAVE_ENTITY_FRAMEWORK;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_FULL_REFLECTION;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_INOTIFY_PROPERTY_CHANGING;HAVE_ISET;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_EMIT;HAVE_SECURITY_SAFE_CRITICAL_ATTRIBUTE;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_XML_DOCUMENT
true
diff --git a/Src/Newtonsoft.Json/Properties/AssemblyInfo.cs b/Src/Newtonsoft.Json/Properties/AssemblyInfo.cs
index 584096b5..bd5fa0f8 100644
--- a/Src/Newtonsoft.Json/Properties/AssemblyInfo.cs
+++ b/Src/Newtonsoft.Json/Properties/AssemblyInfo.cs
@@ -35,7 +35,7 @@ using System.Security;
#if NETSTANDARD1_0
[assembly: AssemblyTitle("Json.NET .NET Standard 1.0")]
#elif NETSTANDARD1_1
-[assembly: AssemblyTitle("Json.NET .NET Standard 1.1")]
+[assembly: AssemblyTitle("Json.NET .NET Standard 1.3")]
#elif PORTABLE40
[assembly: AssemblyTitle("Json.NET Portable .NET 4.0")]
#elif PORTABLE
diff --git a/Src/Newtonsoft.Json/Schema/JsonSchemaException.cs b/Src/Newtonsoft.Json/Schema/JsonSchemaException.cs
index aa5f2349..0987bba8 100644
--- a/Src/Newtonsoft.Json/Schema/JsonSchemaException.cs
+++ b/Src/Newtonsoft.Json/Schema/JsonSchemaException.cs
@@ -36,7 +36,7 @@ namespace Newtonsoft.Json.Schema
/// JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details.
///
///
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_BINARY_EXCEPTION_SERIALIZATION
[Serializable]
#endif
[Obsolete("JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details.")]
@@ -88,7 +88,7 @@ namespace Newtonsoft.Json.Schema
{
}
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_BINARY_EXCEPTION_SERIALIZATION
///
/// Initializes a new instance of the class.
///
diff --git a/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs b/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs
index c2b978ac..d8122355 100644
--- a/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs
+++ b/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs
@@ -355,7 +355,7 @@ namespace Newtonsoft.Json.Serialization
}
else if (contract.MemberSerialization == MemberSerialization.Fields)
{
-#if HAVE_CAS
+#if HAVE_BINARY_FORMATTER
// mimic DataContractSerializer behaviour when populating fields by overriding default creator to create an uninitialized object
// note that this is only possible when the application is fully trusted so fall back to using the default constructor (if available) in partial trust
if (JsonTypeReflector.FullyTrusted)
@@ -1505,7 +1505,7 @@ namespace Newtonsoft.Json.Serialization
// automatically ignore extension data dictionary property if it is public
|| JsonTypeReflector.GetAttribute(attributeProvider) != null
#if HAVE_NON_SERIALIZED_ATTRIBUTE
- || JsonTypeReflector.GetAttribute(attributeProvider) != null
+ || JsonTypeReflector.IsNonSerializable(attributeProvider)
#endif
;
diff --git a/Src/Newtonsoft.Json/Serialization/DynamicValueProvider.cs b/Src/Newtonsoft.Json/Serialization/DynamicValueProvider.cs
index fcd4d396..ec9231c7 100644
--- a/Src/Newtonsoft.Json/Serialization/DynamicValueProvider.cs
+++ b/Src/Newtonsoft.Json/Serialization/DynamicValueProvider.cs
@@ -23,7 +23,7 @@
// OTHER DEALINGS IN THE SOFTWARE.
#endregion
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_REFLECTION_EMIT
using System;
using System.Collections.Generic;
#if !HAVE_LINQ
diff --git a/Src/Newtonsoft.Json/Serialization/FormatterConverter.cs b/Src/Newtonsoft.Json/Serialization/FormatterConverter.cs
new file mode 100644
index 00000000..06cd2079
--- /dev/null
+++ b/Src/Newtonsoft.Json/Serialization/FormatterConverter.cs
@@ -0,0 +1,167 @@
+using System;
+using System.Globalization;
+using System.Runtime.InteropServices;
+using System.Runtime.Serialization;
+
+#if HAVE_BINARY_SERIALIZATION && !HAVE_BINARY_FORMATTER
+
+namespace Newtonsoft.Json.Serialization
+{
+ internal class FormatterConverter : IFormatterConverter
+ {
+ public object Convert(object value, Type type)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ChangeType(value, type, CultureInfo.InvariantCulture);
+ }
+
+ public object Convert(object value, TypeCode typeCode)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ChangeType(value, typeCode, CultureInfo.InvariantCulture);
+ }
+
+ public bool ToBoolean(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToBoolean(value, CultureInfo.InvariantCulture);
+ }
+
+ public byte ToByte(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToByte(value, CultureInfo.InvariantCulture);
+ }
+
+ public char ToChar(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToChar(value, CultureInfo.InvariantCulture);
+ }
+
+ public DateTime ToDateTime(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToDateTime(value, CultureInfo.InvariantCulture);
+ }
+
+ public decimal ToDecimal(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToDecimal(value, CultureInfo.InvariantCulture);
+ }
+
+ public double ToDouble(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToDouble(value, CultureInfo.InvariantCulture);
+ }
+
+ public short ToInt16(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToInt16(value, CultureInfo.InvariantCulture);
+ }
+
+ public int ToInt32(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToInt32(value, CultureInfo.InvariantCulture);
+ }
+
+ public long ToInt64(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToInt64(value, CultureInfo.InvariantCulture);
+ }
+
+ public sbyte ToSByte(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToSByte(value, CultureInfo.InvariantCulture);
+ }
+
+ public float ToSingle(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToSingle(value, CultureInfo.InvariantCulture);
+ }
+
+ public string ToString(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToString(value, CultureInfo.InvariantCulture);
+ }
+
+ public ushort ToUInt16(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToUInt16(value, CultureInfo.InvariantCulture);
+ }
+
+ public uint ToUInt32(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToUInt32(value, CultureInfo.InvariantCulture);
+ }
+
+ public ulong ToUInt64(object value)
+ {
+ if (value == null)
+ {
+ throw new ArgumentNullException("value");
+ }
+ return System.Convert.ToUInt64(value, CultureInfo.InvariantCulture);
+ }
+ }
+}
+
+#endif
\ No newline at end of file
diff --git a/Src/Newtonsoft.Json/Serialization/JsonObjectContract.cs b/Src/Newtonsoft.Json/Serialization/JsonObjectContract.cs
index 602951b7..082a3625 100644
--- a/Src/Newtonsoft.Json/Serialization/JsonObjectContract.cs
+++ b/Src/Newtonsoft.Json/Serialization/JsonObjectContract.cs
@@ -168,7 +168,7 @@ namespace Newtonsoft.Json.Serialization
Properties = new JsonPropertyCollection(UnderlyingType);
}
-#if HAVE_BINARY_SERIALIZATION
+#if HAVE_BINARY_FORMATTER
#if HAVE_SECURITY_SAFE_CRITICAL_ATTRIBUTE
[SecuritySafeCritical]
#endif
diff --git a/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs b/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs
index 012dd9c2..c4ce3df4 100644
--- a/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs
+++ b/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs
@@ -165,13 +165,9 @@ namespace Newtonsoft.Json.Serialization
#endif
#if HAVE_BINARY_SERIALIZATION
- if (!ignoreSerializableAttribute)
+ if (!ignoreSerializableAttribute && IsSerializable(objectType))
{
- SerializableAttribute serializableAttribute = GetCachedAttribute(objectType);
- if (serializableAttribute != null)
- {
- return MemberSerialization.Fields;
- }
+ return MemberSerialization.Fields;
}
#endif
@@ -382,6 +378,40 @@ namespace Newtonsoft.Json.Serialization
return null;
}
+#if HAVE_NON_SERIALIZED_ATTRIBUTE
+ public static bool IsNonSerializable(object provider)
+ {
+#if HAVE_FULL_REFLECTION
+ return (GetCachedAttribute(provider) != null);
+#else
+ FieldInfo fieldInfo = provider as FieldInfo;
+ if (fieldInfo != null && (fieldInfo.Attributes & FieldAttributes.NotSerialized) == FieldAttributes.NotSerialized)
+ {
+ return true;
+ }
+
+ return false;
+#endif
+ }
+#endif
+
+#if HAVE_BINARY_SERIALIZATION
+ public static bool IsSerializable(object provider)
+ {
+#if HAVE_FULL_REFLECTION
+ return (GetCachedAttribute(provider) != null);
+#else
+ Type type = provider as Type;
+ if (type != null && (type.GetTypeInfo().Attributes & TypeAttributes.Serializable) == TypeAttributes.Serializable)
+ {
+ return true;
+ }
+
+ return false;
+#endif
+ }
+#endif
+
public static T GetAttribute(object provider) where T : Attribute
{
Type type = provider as Type;
@@ -400,7 +430,7 @@ namespace Newtonsoft.Json.Serialization
}
#if DEBUG
- internal static void SetFullyTrusted(bool fullyTrusted)
+ internal static void SetFullyTrusted(bool? fullyTrusted)
{
_fullyTrusted = fullyTrusted;
}
@@ -450,7 +480,7 @@ namespace Newtonsoft.Json.Serialization
if (_fullyTrusted == null)
{
#if (DOTNET || PORTABLE || PORTABLE40)
- _fullyTrusted = false;
+ _fullyTrusted = true;
#elif !(NET20 || NET35 || PORTABLE40)
AppDomain appDomain = AppDomain.CurrentDomain;
diff --git a/Src/NuGet.Config b/Src/NuGet.Config
index 3e0a4cf5..b04b0068 100644
--- a/Src/NuGet.Config
+++ b/Src/NuGet.Config
@@ -3,8 +3,6 @@
-
-
\ No newline at end of file