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