From ab3315f1d5e57c70203c904be79d8e951bf09794 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Sun, 1 Oct 2017 23:11:30 +1300 Subject: [PATCH] -Added netstandard2.0 --- Build/build.ps1 | 3 +- .../Benchmarks/LowLevelBenchmarks.cs | 2 +- .../Bson/BsonReaderTests.cs | 4 +- .../Bson/BsonWriterAsyncTests.cs | 4 +- .../Bson/BsonWriterTests.cs | 4 +- .../Converters/BinaryConverterTests.cs | 4 +- .../Converters/DataSetConverterTests.cs | 2 +- .../Converters/DataTableConverterTests.cs | 2 +- .../DiscriminatedUnionConverterTests.cs | 18 ++-- .../Converters/IsoDateTimeConverterTests.cs | 2 +- .../Converters/XmlNodeConverterTest.cs | 34 ++++---- Src/Newtonsoft.Json.Tests/DemoTests.cs | 8 +- .../ConditionalPropertiesTests.cs | 2 +- .../ConvertingJsonAndXmlTests.cs | 2 +- .../Documentation/JsonSchemaTests.cs | 2 +- .../Documentation/LinqToJsonTests.cs | 2 +- .../Documentation/PerformanceTests.cs | 2 +- .../ReadingAndWritingJsonTests.cs | 2 +- .../Samples/Json/CustomJsonReader.cs | 12 +-- .../Samples/Json/CustomJsonWriter.cs | 2 +- .../Samples/Linq/DeserializeWithLinq.cs | 2 +- .../Samples/Linq/SerializeWithLinq.cs | 2 +- .../Samples/Serializer/CustomTraceWriter.cs | 2 +- .../Samples/Serializer/DeserializeDataSet.cs | 2 +- .../Serializer/DeserializeDateFormatString.cs | 2 +- .../DeserializeWithDependencyInjection.cs | 2 +- .../Samples/Serializer/SerializeDataSet.cs | 2 +- .../Samples/Xml/ConvertXmlToJson.cs | 2 +- .../Samples/Xml/ConvertXmlToJsonForceArray.cs | 2 +- .../Documentation/SerializationTests.cs | 2 +- .../Documentation/TraceWriterTests.cs | 2 +- Src/Newtonsoft.Json.Tests/ExceptionTests.cs | 4 +- Src/Newtonsoft.Json.Tests/Issues/Issue1327.cs | 6 +- Src/Newtonsoft.Json.Tests/JsonConvertTest.cs | 4 +- .../ExceptionHandlingAsyncTests.cs | 4 +- .../ExceptionHandlingTests.cs | 6 +- .../JsonTextReaderTests/FloatTests.cs | 2 +- .../JsonTextReaderTests/MiscAsyncTests.cs | 2 - .../JsonTextReaderTests/MiscTests.cs | 2 +- .../JsonTextReaderTests/ParseTests.cs | 2 +- .../JsonTextReaderTests/ReadAsyncTests.cs | 69 +-------------- .../JsonTextReaderTests/ReadTests.cs | 71 +--------------- .../JsonTextWriterAsyncTests.cs | 4 +- .../JsonTextWriterTest.cs | 6 +- .../JsonValidatingReaderTests.cs | 6 +- .../JPropertyDescriptorTests.cs | 8 +- .../Linq/DynamicTests.cs | 26 +++--- Src/Newtonsoft.Json.Tests/Linq/JArrayTests.cs | 2 +- .../Linq/JObjectTests.cs | 12 +-- .../Linq/JPropertyTests.cs | 2 +- .../Linq/JTokenReaderAsyncTests.cs | 6 +- .../Linq/JTokenReaderTest.cs | 6 +- Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs | 12 +-- .../Linq/JTokenWriterAsyncTests.cs | 8 +- .../Linq/JTokenWriterTest.cs | 8 +- Src/Newtonsoft.Json.Tests/Linq/JValueTests.cs | 20 ++--- .../Linq/JsonPath/JPathExecuteTests.cs | 4 +- .../Linq/LinqToJsonTest.cs | 2 +- .../Newtonsoft.Json.Tests.csproj | 32 +++++-- .../Schema/JsonSchemaGeneratorTests.cs | 10 +-- ...lCasePropertyNamesContractResolverTests.cs | 2 +- .../Serialization/ContractResolverTests.cs | 4 +- .../Serialization/DependencyInjectionTests.cs | 2 +- .../Serialization/DynamicTests.cs | 2 +- .../Serialization/FSharpTests.cs | 8 +- .../JsonSerializerCollectionsTests.cs | 26 +++--- .../Serialization/JsonSerializerTest.cs | 84 ++++++++++--------- .../MetadataPropertyHandlingTests.cs | 2 +- .../ReferenceLoopHandlingTests.cs | 2 +- .../ReflectionAttributeProviderTests.cs | 4 +- .../SerializationEventAttributeTests.cs | 5 +- .../Serialization/TraceWriterTests.cs | 8 +- .../Serialization/TypeNameHandlingTests.cs | 51 +++++++---- .../Serialization/WebApiIntegrationTests.cs | 6 +- .../TestObjects/AnswerFilterModel.cs | 2 +- .../TestObjects/AttachmentReadConverter.cs | 2 +- .../TestObjects/ConsoleWriter.cs | 2 +- .../TestObjects/ConverableMembers.cs | 2 +- .../TestObjects/ConvertableIntTestClass.cs | 2 +- .../TestObjects/ConvertibleInt.cs | 2 +- .../TestObjects/CustomerDataSet.cs | 2 +- .../TestObjects/EncodingReadConverter.cs | 2 +- .../TestObjects/GeometricForms/Shape.cs | 2 +- .../TestObjects/GeometricForms/Tags.cs | 2 +- .../TestObjects/IMyInterface.cs | 2 +- .../TestObjects/ListOfIds.cs | 2 +- .../TestObjects/MailAddressReadConverter.cs | 2 +- .../TestObjects/Money/Currency.cs | 2 +- .../TestObjects/Money/Tags.cs | 2 +- .../TestObjects/MyInterfaceConverter.cs | 2 +- .../NullableStructPropertyClass.cs | 2 +- .../TestObjects/PersonSerializable.cs | 2 +- .../PreserveReferencesCallbackTestObject.cs | 2 +- .../TestObjects/Ratio.cs | 2 +- .../SerializableContractResolver.cs | 2 +- .../TestObjects/StringDictionaryTestClass.cs | 2 +- .../TestObjects/StructISerializable.cs | 2 +- .../TestObjects/TraceWriter.cs | 2 +- .../TestObjects/TypeConverterJsonConverter.cs | 2 +- .../TestObjects/TypedSubHashtable.cs | 2 +- Src/Newtonsoft.Json/Newtonsoft.Json.csproj | 8 +- .../Serialization/DefaultContractResolver.cs | 2 +- .../Serialization/JsonTypeReflector.cs | 2 +- .../Utilities/ReflectionUtils.cs | 6 +- 104 files changed, 347 insertions(+), 410 deletions(-) diff --git a/Build/build.ps1 b/Build/build.ps1 index 1e28515c..329de134 100644 --- a/Build/build.ps1 +++ b/Build/build.ps1 @@ -32,7 +32,8 @@ $nunitConsolePath = "$buildDir\Temp\NUnit.ConsoleRunner.$nunitConsoleVersion" $builds = @( - @{Framework = "netstandard1.3"; TestsFunction = "NetCliTests"; TestFramework = "netcoreapp2.0"; Enabled=$true}, + @{Framework = "netstandard2.0"; TestsFunction = "NetCliTests"; TestFramework = "netcoreapp2.0"; Enabled=$true}, + @{Framework = "netstandard1.3"; TestsFunction = "NetCliTests"; TestFramework = "netcoreapp1.1"; Enabled=$true}, @{Framework = "netstandard1.0"; TestsFunction = "NetCliTests"; TestFramework = "netcoreapp1.0"; Enabled=$true}, @{Framework = "net45"; TestsFunction = "NUnitTests"; TestFramework = "net46"; NUnitFramework="net-4.0"; Enabled=$true}, @{Framework = "net40"; TestsFunction = "NUnitTests"; NUnitFramework="net-4.0"; Enabled=$true}, diff --git a/Src/Newtonsoft.Json.Tests/Benchmarks/LowLevelBenchmarks.cs b/Src/Newtonsoft.Json.Tests/Benchmarks/LowLevelBenchmarks.cs index 0afb98a5..3aae21b0 100644 --- a/Src/Newtonsoft.Json.Tests/Benchmarks/LowLevelBenchmarks.cs +++ b/Src/Newtonsoft.Json.Tests/Benchmarks/LowLevelBenchmarks.cs @@ -35,7 +35,7 @@ using System.Text; using System.Threading.Tasks; using BenchmarkDotNet.Attributes; using Newtonsoft.Json.Utilities; -#if !PORTABLE +#if !PORTABLE || NETSTANDARD2_0 using MemberTypes = System.Reflection.MemberTypes; using BindingFlags = System.Reflection.BindingFlags; #else diff --git a/Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs b/Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs index ba2952a7..31406eb8 100644 --- a/Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs +++ b/Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs @@ -31,7 +31,7 @@ using System.Reflection; using System.Runtime.Serialization; using Newtonsoft.Json.Serialization; using Newtonsoft.Json.Tests.TestObjects; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -1491,7 +1491,7 @@ namespace Newtonsoft.Json.Tests.Bson Assert.AreEqual(badText, (string)o["test"]); } -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 public class BigIntegerTestClass { public BigInteger Blah { get; set; } diff --git a/Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs index 627e1e77..ff465efd 100644 --- a/Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs @@ -26,7 +26,7 @@ #pragma warning disable 618 #if !(NET20 || NET35 || NET40 || PORTABLE40) using System; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -499,7 +499,7 @@ namespace Newtonsoft.Json.Tests.Bson Assert.AreEqual("10-00-00-00-09-30-00-C8-88-07-6B-DC-00-00-00-00", (BitConverter.ToString(ms.ToArray()))); } -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public async Task WriteBigIntegerAsync() { diff --git a/Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs b/Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs index d7bb8bfd..ae8b6169 100644 --- a/Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs @@ -26,7 +26,7 @@ #pragma warning disable 618 using System; using System.Collections.Generic; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -798,7 +798,7 @@ namespace Newtonsoft.Json.Tests.Bson Assert.AreEqual(c.AGuid, c2.AGuid.ToString()); } -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void WriteBigInteger() { diff --git a/Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs index 391a5900..80f96d6f 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs @@ -28,7 +28,7 @@ using System.Collections.Generic; #if !(NET20 || DNXCORE50) using System.Data.Linq; #endif -#if !DNXCORE50 +#if !DNXCORE50 || NETSTANDARD2_0 using System.Data.SqlTypes; #endif using System.Text; @@ -121,7 +121,7 @@ namespace Newtonsoft.Json.Tests.Converters }", json); } -#if !(PORTABLE || PORTABLE40 || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD2_0 public class SqlBinaryClass { public SqlBinary SqlBinary { get; set; } diff --git a/Src/Newtonsoft.Json.Tests/Converters/DataSetConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/DataSetConverterTests.cs index dabbd100..bd54e8c4 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/DataSetConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/DataSetConverterTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 using System; using Newtonsoft.Json.Converters; #if DNXCORE50 diff --git a/Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs index 98b6169d..da2a2502 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs @@ -23,12 +23,12 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 using System.IO; using System.Text; using Newtonsoft.Json.Bson; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; -#if !(PORTABLE || DNXCORE50 || PORTABLE40) using System; using System.Collections.Generic; #if DNXCORE50 diff --git a/Src/Newtonsoft.Json.Tests/Converters/DiscriminatedUnionConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/DiscriminatedUnionConverterTests.cs index 1ff89384..7cac6eba 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/DiscriminatedUnionConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/DiscriminatedUnionConverterTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET40 || NET35 || NET20 || DNXCORE50) +#if !(NET40 || NET35 || NET20 || DNXCORE50) || NETSTANDARD2_0 using System.Diagnostics; using System.Reflection; using Microsoft.FSharp.Core; @@ -36,7 +36,13 @@ using System.Threading.Tasks; using Newtonsoft.Json.Tests.TestObjects; using Newtonsoft.Json.Tests.TestObjects.GeometricForms; using Newtonsoft.Json.Tests.TestObjects.Money; +#if DNXCORE50 +using Xunit; +using Test = Xunit.FactAttribute; +using Assert = Newtonsoft.Json.Tests.XUnitAssert; +#else using NUnit.Framework; +#endif namespace Newtonsoft.Json.Tests.Converters { @@ -191,7 +197,7 @@ namespace Newtonsoft.Json.Tests.Converters { Union u = new Union(); - u.TagReader = FSharpFunc.ToConverter(FSharpValue.PreComputeUnionTagReader(t, null)); + u.TagReader = (s) => FSharpValue.PreComputeUnionTagReader(t, null).Invoke(s); u.Cases = new List(); UnionCaseInfo[] cases = FSharpType.GetUnionCases(t, null); @@ -202,8 +208,8 @@ namespace Newtonsoft.Json.Tests.Converters unionCase.Tag = unionCaseInfo.Tag; unionCase.Name = unionCaseInfo.Name; unionCase.Fields = unionCaseInfo.GetFields(); - unionCase.FieldReader = FSharpFunc.ToConverter(FSharpValue.PreComputeUnionReader(unionCaseInfo, null)); - unionCase.Constructor = FSharpFunc.ToConverter(FSharpValue.PreComputeUnionConstructor(unionCaseInfo, null)); + unionCase.FieldReader = (s) => FSharpValue.PreComputeUnionReader(unionCaseInfo, null).Invoke(s); + unionCase.Constructor = (s) => FSharpValue.PreComputeUnionConstructor(unionCaseInfo, null).Invoke(s); u.Cases.Add(unionCase); } @@ -224,8 +230,8 @@ namespace Newtonsoft.Json.Tests.Converters object[] fields = caseInfo.FieldReader.Invoke(value); - Assert.AreEqual(10, fields[0]); - Assert.AreEqual(5, fields[1]); + Assert.AreEqual(10d, fields[0]); + Assert.AreEqual(5d, fields[1]); } [Test] diff --git a/Src/Newtonsoft.Json.Tests/Converters/IsoDateTimeConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/IsoDateTimeConverterTests.cs index a17d5981..5f005230 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/IsoDateTimeConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/IsoDateTimeConverterTests.cs @@ -123,7 +123,7 @@ namespace Newtonsoft.Json.Tests.Converters Assert.AreEqual(2006, d.Year); } -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 [Test] public void SerializeFormattedDateTimeNewZealandCulture() { diff --git a/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs b/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs index 4dc7f583..46aa08c8 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(DNXCORE50 || PORTABLE40) +#if !(DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Globalization; #if NET20 using Newtonsoft.Json.Utilities.LinqBridge; @@ -58,7 +58,7 @@ namespace Newtonsoft.Json.Tests.Converters [TestFixture] public class XmlNodeConverterTest : TestFixtureBase { -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 private string SerializeXmlNode(XmlNode node) { string json = JsonConvert.SerializeXmlNode(node, Formatting.Indented); @@ -262,7 +262,7 @@ namespace Newtonsoft.Json.Tests.Converters } #endif -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void MultipleNamespacesXmlDocument() { @@ -441,7 +441,7 @@ namespace Newtonsoft.Json.Tests.Converters ", doc.ToString()); } -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void SerializeEmptyDocument() { @@ -487,7 +487,7 @@ namespace Newtonsoft.Json.Tests.Converters Assert.IsTrue(equals); } -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void DeserializeUndeclaredNamespacePrefix() { @@ -502,7 +502,7 @@ namespace Newtonsoft.Json.Tests.Converters #endif #endif -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void DeserializeMultipleRootElements() { @@ -1297,7 +1297,7 @@ namespace Newtonsoft.Json.Tests.Converters ] }"; -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 XmlDocument newDoc = JsonConvert.DeserializeXmlNode(json, "myRoot"); string xml = IndentXml(newDoc.InnerXml); @@ -1335,7 +1335,7 @@ namespace Newtonsoft.Json.Tests.Converters ", IndentXml(newXDoc.ToString(SaveOptions.DisableFormatting))); #endif -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 string newJson = JsonConvert.SerializeXmlNode(newDoc, Formatting.Indented); Console.WriteLine(newJson); #endif @@ -1360,7 +1360,7 @@ namespace Newtonsoft.Json.Tests.Converters ] }"; -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 XmlDocument newDoc = JsonConvert.DeserializeXmlNode(json, "myRoot", true); StringAssert.AreEqual(@" @@ -1396,7 +1396,7 @@ namespace Newtonsoft.Json.Tests.Converters ", IndentXml(newXDoc.ToString(SaveOptions.DisableFormatting))); #endif -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 string newJson = JsonConvert.SerializeXmlNode(newDoc, Formatting.Indented, true); StringAssert.AreEqual(json, newJson); #endif @@ -1422,7 +1422,7 @@ namespace Newtonsoft.Json.Tests.Converters ] }"; -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 XmlDocument newDoc = JsonConvert.DeserializeXmlNode(json, "myRoot"); Assert.AreEqual(@"113150assets/images/resized/0001/1070/11070v1-max-150x150.jpg189250assets/images/resized/0001/1070/11070v1-max-250x250.jpg341450assets/images/resized/0001/1070/11070v1-max-450x450.jpg", newDoc.InnerXml); @@ -1435,7 +1435,7 @@ namespace Newtonsoft.Json.Tests.Converters #endif } -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void Encoding() { @@ -1450,7 +1450,7 @@ namespace Newtonsoft.Json.Tests.Converters } #endif -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void SerializeComment() { @@ -2139,6 +2139,7 @@ namespace Newtonsoft.Json.Tests.Converters Assert.AreEqual(@"", xmlString); } +#if !(NETSTANDARD1_0 || NETSTANDARD1_3) [Test] public void IgnoreCultureForTypedAttributes() { @@ -2174,6 +2175,7 @@ namespace Newtonsoft.Json.Tests.Converters System.Threading.Thread.CurrentThread.CurrentCulture = originalCulture; } } +#endif [Test] public void NullAttributeValue() @@ -2499,7 +2501,7 @@ namespace Newtonsoft.Json.Tests.Converters } #endif -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void DeserializeXmlNodeDefaultNamespace() { @@ -2827,7 +2829,7 @@ namespace Newtonsoft.Json.Tests.Converters } #endif -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void SerializeAndDeserializeXmlElementWithNamespaceInChildrenRootDontHaveNameSpace() { @@ -2846,7 +2848,7 @@ namespace Newtonsoft.Json.Tests.Converters Assert.AreEqual(@"AsdAAAadad", xmlBack.OuterXml); } -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void DeserializeBigInteger() { diff --git a/Src/Newtonsoft.Json.Tests/DemoTests.cs b/Src/Newtonsoft.Json.Tests/DemoTests.cs index 4a7b7d79..ba0f1887 100644 --- a/Src/Newtonsoft.Json.Tests/DemoTests.cs +++ b/Src/Newtonsoft.Json.Tests/DemoTests.cs @@ -24,7 +24,7 @@ #endregion using System; -#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) +#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD2_0 using System.Buffers; #endif using System.Collections.Generic; @@ -592,7 +592,7 @@ namespace Newtonsoft.Json.Tests }", json); } -#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) +#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD2_0 [Test] public void ArrayPooling() { @@ -610,7 +610,7 @@ namespace Newtonsoft.Json.Tests } #endif -#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) +#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD2_0 [Test] public async Task AsyncDemo() { @@ -634,7 +634,7 @@ namespace Newtonsoft.Json.Tests #endif } -#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) +#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD2_0 public class JsonArrayPool : IArrayPool { public static readonly JsonArrayPool Instance = new JsonArrayPool(); diff --git a/Src/Newtonsoft.Json.Tests/Documentation/ConditionalPropertiesTests.cs b/Src/Newtonsoft.Json.Tests/Documentation/ConditionalPropertiesTests.cs index da5deaf9..a5eae45e 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/ConditionalPropertiesTests.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/ConditionalPropertiesTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20 || PORTABLE || DNXCORE50) +#if !(NET35 || NET20 || PORTABLE || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 using System; using System.Collections.Generic; using System.ComponentModel; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/ConvertingJsonAndXmlTests.cs b/Src/Newtonsoft.Json.Tests/Documentation/ConvertingJsonAndXmlTests.cs index 868c75ce..b3e0486c 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/ConvertingJsonAndXmlTests.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/ConvertingJsonAndXmlTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20 || PORTABLE || PORTABLE40 || DNXCORE50) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 using System; using System.Collections.Generic; using System.ComponentModel; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/JsonSchemaTests.cs b/Src/Newtonsoft.Json.Tests/Documentation/JsonSchemaTests.cs index 2b7d7280..a796a963 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/JsonSchemaTests.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/JsonSchemaTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20 || PORTABLE || DNXCORE50) +#if !(NET35 || NET20 || PORTABLE || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 #pragma warning disable 618 using System; using System.Collections.Generic; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/LinqToJsonTests.cs b/Src/Newtonsoft.Json.Tests/Documentation/LinqToJsonTests.cs index cd471581..6314f377 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/LinqToJsonTests.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/LinqToJsonTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20 || DNXCORE50) +#if !(NET35 || NET20 || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 using System; using System.Collections.Generic; using System.ComponentModel; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/PerformanceTests.cs b/Src/Newtonsoft.Json.Tests/Documentation/PerformanceTests.cs index b8b0c8bc..f3aed861 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/PerformanceTests.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/PerformanceTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20 || PORTABLE || DNXCORE50) +#if !(NET35 || NET20 || PORTABLE || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 using System; using System.Collections.Generic; using System.ComponentModel; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/ReadingAndWritingJsonTests.cs b/Src/Newtonsoft.Json.Tests/Documentation/ReadingAndWritingJsonTests.cs index 49caec6d..ddf4a1cb 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/ReadingAndWritingJsonTests.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/ReadingAndWritingJsonTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20 || PORTABLE || DNXCORE50) +#if !(NET35 || NET20 || PORTABLE || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 using System; using System.Collections.Generic; using System.ComponentModel; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/CustomJsonReader.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/CustomJsonReader.cs index 0a8bad20..3c5dc716 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/CustomJsonReader.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/CustomJsonReader.cs @@ -39,7 +39,7 @@ using NUnit.Framework; #endif -#if !(DNXCORE50 || NET20) +#if !(DNXCORE50 || NET20) || NETSTANDARD1_3 || NETSTANDARD2_0 namespace Newtonsoft.Json.Tests.Documentation.Samples.Json { @@ -375,7 +375,7 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Json Assert.IsTrue(reader.Read()); Assert.AreEqual(JsonToken.Integer, reader.TokenType); - Assert.AreEqual(123, reader.Value); + Assert.AreEqual(123L, reader.Value); Assert.IsTrue(reader.Read()); Assert.AreEqual(JsonToken.PropertyName, reader.TokenType); @@ -442,7 +442,7 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Json Assert.AreEqual(1, reader.ReadAsInt32()); Assert.AreEqual(JsonToken.Integer, reader.TokenType); - Assert.AreEqual(1, reader.Value); + Assert.AreEqual(1L, reader.Value); Assert.IsTrue(reader.Read()); Assert.AreEqual(JsonToken.Bytes, reader.TokenType); @@ -490,15 +490,15 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Json Assert.IsTrue(reader.Read()); Assert.AreEqual(JsonToken.Integer, reader.TokenType); - Assert.AreEqual(2000, reader.Value); + Assert.AreEqual(2000L, reader.Value); Assert.IsTrue(reader.Read()); Assert.AreEqual(JsonToken.Integer, reader.TokenType); - Assert.AreEqual(12, reader.Value); + Assert.AreEqual(12L, reader.Value); Assert.IsTrue(reader.Read()); Assert.AreEqual(JsonToken.Integer, reader.TokenType); - Assert.AreEqual(30, reader.Value); + Assert.AreEqual(30L, reader.Value); Assert.IsTrue(reader.Read()); Assert.AreEqual(JsonToken.EndConstructor, reader.TokenType); diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/CustomJsonWriter.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/CustomJsonWriter.cs index 58030b81..010bd3b7 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/CustomJsonWriter.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Json/CustomJsonWriter.cs @@ -39,7 +39,7 @@ using NUnit.Framework; #endif -#if !(DNXCORE50 || NET20) +#if !(DNXCORE50 || NET20) || NETSTANDARD2_0 namespace Newtonsoft.Json.Tests.Documentation.Samples.Json { diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/DeserializeWithLinq.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/DeserializeWithLinq.cs index e50dfddc..dc177d5f 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/DeserializeWithLinq.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/DeserializeWithLinq.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !DNXCORE50 +#if !DNXCORE50 || NETSTANDARD2_0 using System; using System.Collections.Generic; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/SerializeWithLinq.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/SerializeWithLinq.cs index 806090c8..c6781991 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/SerializeWithLinq.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/SerializeWithLinq.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !DNXCORE50 +#if !DNXCORE50 || NETSTANDARD2_0 using System; using System.Collections.Generic; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/CustomTraceWriter.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/CustomTraceWriter.cs index 0d2de30a..151b0d8c 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/CustomTraceWriter.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/CustomTraceWriter.cs @@ -37,7 +37,7 @@ using NUnit.Framework; #endif -#if !(DNXCORE50 || NET20 || NET35) +#if !(DNXCORE50 || NET20 || NET35) || NETSTANDARD2_0 namespace Newtonsoft.Json.Tests.Documentation.Samples.Serializer { diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeDataSet.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeDataSet.cs index 1ea214f9..78e65c63 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeDataSet.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeDataSet.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(DNXCORE50 || PORTABLE || PORTABLE40) +#if !(DNXCORE50 || PORTABLE || PORTABLE40) || NETSTANDARD2_0 using System; using System.Collections.Generic; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeDateFormatString.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeDateFormatString.cs index ab887401..dc7a0f0d 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeDateFormatString.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeDateFormatString.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !DNXCORE50 +#if !DNXCORE50 || NETSTANDARD2_0 using System; using System.Collections.Generic; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeWithDependencyInjection.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeWithDependencyInjection.cs index 4ac884d2..faceabe9 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeWithDependencyInjection.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/DeserializeWithDependencyInjection.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40 || DNXCORE50 || PORTABLE40 || PORTABLE) +#if !(NET20 || NET35 || NET40 || DNXCORE50 || PORTABLE40 || PORTABLE) || NETSTANDARD1_0 || NETSTANDARD1_3 || NETSTANDARD2_0 using System; using System.Collections.Generic; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeDataSet.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeDataSet.cs index 2313f5aa..ecc3f64d 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeDataSet.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Serializer/SerializeDataSet.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(DNXCORE50 || PORTABLE || PORTABLE40) +#if !(DNXCORE50 || PORTABLE || PORTABLE40) || NETSTANDARD2_0 using System; using System.Collections.Generic; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Xml/ConvertXmlToJson.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Xml/ConvertXmlToJson.cs index 188e6885..25c4c429 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Xml/ConvertXmlToJson.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Xml/ConvertXmlToJson.cs @@ -36,7 +36,7 @@ using NUnit.Framework; #endif -#if !(DNXCORE50 || NET20 || PORTABLE || PORTABLE40) +#if !(DNXCORE50 || NET20 || PORTABLE || PORTABLE40) || NETSTANDARD2_0 namespace Newtonsoft.Json.Tests.Documentation.Samples.Xml { diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Xml/ConvertXmlToJsonForceArray.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Xml/ConvertXmlToJsonForceArray.cs index aa4a00fe..aeaf7fef 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Xml/ConvertXmlToJsonForceArray.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Xml/ConvertXmlToJsonForceArray.cs @@ -36,7 +36,7 @@ using NUnit.Framework; #endif -#if !(NET20 || DNXCORE50 || PORTABLE || PORTABLE40) +#if !(NET20 || DNXCORE50 || PORTABLE || PORTABLE40) || NETSTANDARD2_0 namespace Newtonsoft.Json.Tests.Documentation.Samples.Xml { diff --git a/Src/Newtonsoft.Json.Tests/Documentation/SerializationTests.cs b/Src/Newtonsoft.Json.Tests/Documentation/SerializationTests.cs index ea610c41..9634f7df 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/SerializationTests.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/SerializationTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20 || PORTABLE || DNXCORE50) +#if !(NET35 || NET20 || PORTABLE || DNXCORE50) || NETSTANDARD2_0 using System; using System.Collections.Generic; using System.ComponentModel; diff --git a/Src/Newtonsoft.Json.Tests/Documentation/TraceWriterTests.cs b/Src/Newtonsoft.Json.Tests/Documentation/TraceWriterTests.cs index 7c02ae49..b40faea6 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/TraceWriterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/TraceWriterTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20 || DNXCORE50) +#if !(NET35 || NET20 || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 using System; using System.Collections.Generic; using System.ComponentModel; diff --git a/Src/Newtonsoft.Json.Tests/ExceptionTests.cs b/Src/Newtonsoft.Json.Tests/ExceptionTests.cs index 6714c48e..ce93ecd0 100644 --- a/Src/Newtonsoft.Json.Tests/ExceptionTests.cs +++ b/Src/Newtonsoft.Json.Tests/ExceptionTests.cs @@ -25,7 +25,7 @@ using System; using System.IO; -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50) || NETSTANDARD2_0 using System.Runtime.Serialization.Formatters.Binary; #endif using Newtonsoft.Json.Schema; @@ -105,7 +105,7 @@ namespace Newtonsoft.Json.Tests } #pragma warning restore 618 -#if !(PORTABLE || PORTABLE40 || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD2_0 [Test] public void BinarySerializeException() { diff --git a/Src/Newtonsoft.Json.Tests/Issues/Issue1327.cs b/Src/Newtonsoft.Json.Tests/Issues/Issue1327.cs index cc38a7b9..0d2f665a 100644 --- a/Src/Newtonsoft.Json.Tests/Issues/Issue1327.cs +++ b/Src/Newtonsoft.Json.Tests/Issues/Issue1327.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(DNXCORE50 || PORTABLE40) +#if !(DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 using System; using System.Collections.Generic; using System.Linq; @@ -47,7 +47,7 @@ namespace Newtonsoft.Json.Tests.Issues [TestFixture] public class Issue1327 : TestFixtureBase { -#if !PORTABLE +#if !PORTABLE || NETSTANDARD2_0 public class PersonWithXmlNode { public XmlNode TestXml { get; set; } @@ -71,7 +71,7 @@ namespace Newtonsoft.Json.Tests.Issues } #endif -#if !PORTABLE +#if !PORTABLE || NETSTANDARD2_0 [Test] public void Test_XmlNode() { diff --git a/Src/Newtonsoft.Json.Tests/JsonConvertTest.cs b/Src/Newtonsoft.Json.Tests/JsonConvertTest.cs index bde20add..dda3d1d0 100644 --- a/Src/Newtonsoft.Json.Tests/JsonConvertTest.cs +++ b/Src/Newtonsoft.Json.Tests/JsonConvertTest.cs @@ -30,7 +30,7 @@ using System.Collections.ObjectModel; using System.Globalization; using System.IO; using Newtonsoft.Json.Schema; -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Runtime.Serialization; @@ -1111,7 +1111,7 @@ namespace Newtonsoft.Json.Tests writer.Flush(); } -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void IntegerLengthOverflows() { diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingAsyncTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingAsyncTests.cs index 27a50fd3..4ff011dc 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingAsyncTests.cs @@ -27,7 +27,7 @@ using System; using System.Globalization; -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -593,7 +593,7 @@ namespace Newtonsoft.Json.Tests.JsonTextReaderTests } } -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public async Task ReadInt64OverflowAsync() { diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs index dcf57cda..59081357 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs @@ -28,7 +28,7 @@ using System.Collections; using System.Collections.Generic; using System.Globalization; using Newtonsoft.Json.Linq; -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -616,7 +616,7 @@ namespace Newtonsoft.Json.Tests.JsonTextReaderTests } } -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ReadInt64Overflow() { @@ -638,7 +638,7 @@ namespace Newtonsoft.Json.Tests.JsonTextReaderTests } #endif -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ReadInt64Overflow_Negative() { diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatTests.cs index 19dd9558..20d4c5ea 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatTests.cs @@ -28,7 +28,7 @@ using System.Collections; using System.Collections.Generic; using System.Globalization; using Newtonsoft.Json.Linq; -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscAsyncTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscAsyncTests.cs index 16433f60..2c36271f 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscAsyncTests.cs @@ -988,7 +988,6 @@ null//comment Assert.IsTrue(await reader.ReadAsync()); } -#if !DNXCORE50 [Test] public async Task LinePositionOnNewLineAsync() { @@ -1036,7 +1035,6 @@ null//comment Assert.IsFalse(await r.ReadAsync()); } -#endif [Test] public async Task InvalidUnicodeSequenceAsync() diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscTests.cs index 5588ea2b..1793d58f 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscTests.cs @@ -28,7 +28,7 @@ using System.Collections; using System.Collections.Generic; using System.Globalization; using Newtonsoft.Json.Linq; -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseTests.cs index 675b91dd..bb2344a4 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseTests.cs @@ -28,7 +28,7 @@ using System.Collections; using System.Collections.Generic; using System.Globalization; using Newtonsoft.Json.Linq; -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadAsyncTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadAsyncTests.cs index 19b140be..c6578785 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadAsyncTests.cs @@ -28,7 +28,7 @@ using System; using System.Globalization; using Newtonsoft.Json.Linq; -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -88,7 +88,7 @@ namespace Newtonsoft.Json.Tests.JsonTextReaderTests "Unexpected character encountered while parsing value: u. Path '', line 1, position 1."); } -#if !(PORTABLE || PORTABLE40 || NET35 || NET20) +#if !(PORTABLE || PORTABLE40 || NET35 || NET20) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public async Task ReadAsBooleanAsync() { @@ -1056,69 +1056,6 @@ namespace Newtonsoft.Json.Tests.JsonTextReaderTests Assert.IsTrue(await reader.ReadAsync()); } -#if !DNXCORE50 - [Test] - [Ignore("Probably not a Json.NET issue")] - public async Task ReadFromNetworkStreamAsync() - { - const int port = 11999; - const int jsonArrayElementsCount = 193; - - var serverStartedEvent = new ManualResetEvent(false); - var clientReceivedEvent = new ManualResetEvent(false); - - ThreadPool.QueueUserWorkItem(work => - { - var server = new TcpListener(IPAddress.Parse("0.0.0.0"), port); - server.Start(); - - serverStartedEvent.Set(); - - var serverSocket = server.AcceptSocket(); - - var jsonString = "[\r\n" + String.Join(",", Enumerable.Repeat(" \"testdata\"\r\n", jsonArrayElementsCount).ToArray()) + "]"; - var bytes = new UTF8Encoding().GetBytes(jsonString); - serverSocket.Send(bytes); - Console.WriteLine("server send: " + bytes.Length); - - clientReceivedEvent.WaitOne(); - - }); - - serverStartedEvent.WaitOne(); - - var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); - socket.Blocking = false; - socket.Connect("127.0.0.1", port); - - var stream = new NetworkStream(socket); - - int i = 0; - using (var sr = new StreamReader(stream, new UTF8Encoding(), false)) - using (var jsonTextReader = new JsonTextReader(sr)) - { - while (await jsonTextReader.ReadAsync()) - { - i++; - - if (i == 193) - { - string s = string.Empty; - } - - Console.WriteLine($"{i} - {jsonTextReader.TokenType} - {jsonTextReader.Value}"); - } - - //var result = serializer.Deserialize(jsonTextReader).ToString(); - //Console.WriteLine("client receive: " + new UTF8Encoding().GetBytes(result).Length); - } - - clientReceivedEvent.Set(); - - Console.WriteLine("Done"); - } -#endif - [Test] public async Task ReadCommentInsideArrayAsync() { @@ -1205,7 +1142,7 @@ second line third line", jsonTextReader.Value); } -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public async Task ReadBigIntegerAsync() { diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadTests.cs index 3a497f7b..30fa4e00 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadTests.cs @@ -28,7 +28,7 @@ using System.Collections; using System.Collections.Generic; using System.Globalization; using Newtonsoft.Json.Linq; -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -93,7 +93,7 @@ namespace Newtonsoft.Json.Tests.JsonTextReaderTests "Unexpected character encountered while parsing value: u. Path '', line 1, position 1."); } -#if !(PORTABLE || PORTABLE40 || NET35 || NET20) +#if !(PORTABLE || PORTABLE40 || NET35 || NET20) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ReadAsBoolean() { @@ -1073,71 +1073,6 @@ namespace Newtonsoft.Json.Tests.JsonTextReaderTests Assert.IsTrue(reader.Read()); } -#if !DNXCORE50 - [Test] - [Ignore("Probably not a Json.NET issue")] - public void ReadFromNetworkStream() - { - const int port = 11999; - const int jsonArrayElementsCount = 193; - - var serverStartedEvent = new ManualResetEvent(false); - var clientReceivedEvent = new ManualResetEvent(false); - - ThreadPool.QueueUserWorkItem(work => - { - var server = new TcpListener(IPAddress.Parse("0.0.0.0"), port); - server.Start(); - - serverStartedEvent.Set(); - - var serverSocket = server.AcceptSocket(); - - var jsonString = "[\r\n" + String.Join(",", Enumerable.Repeat(" \"testdata\"\r\n", jsonArrayElementsCount).ToArray()) + "]"; - var bytes = new UTF8Encoding().GetBytes(jsonString); - serverSocket.Send(bytes); - Console.WriteLine("server send: " + bytes.Length); - - - clientReceivedEvent.WaitOne(); - - }); - - serverStartedEvent.WaitOne(); - - - var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); - socket.Blocking = false; - socket.Connect("127.0.0.1", port); - - var stream = new NetworkStream(socket); - var serializer = new JsonSerializer(); - - int i = 0; - using (var sr = new StreamReader(stream, new UTF8Encoding(), false)) - using (var jsonTextReader = new JsonTextReader(sr)) - { - while (jsonTextReader.Read()) - { - i++; - - if (i == 193) - { - string s = string.Empty; - } - - Console.WriteLine($"{i} - {jsonTextReader.TokenType} - {jsonTextReader.Value}"); - } - //var result = serializer.Deserialize(jsonTextReader).ToString(); - //Console.WriteLine("client receive: " + new UTF8Encoding().GetBytes(result).Length); - } - - clientReceivedEvent.Set(); - - Console.WriteLine("Done"); - } -#endif - [Test] public void ReadCommentInsideArray() { @@ -1226,7 +1161,7 @@ third line", jsonTextReader.Value); -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ReadBigInteger() { diff --git a/Src/Newtonsoft.Json.Tests/JsonTextWriterAsyncTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextWriterAsyncTests.cs index b816b1f4..74c730e3 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextWriterAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextWriterAsyncTests.cs @@ -102,7 +102,7 @@ namespace Newtonsoft.Json.Tests } } -#if !(NETSTANDARD1_0 || PORTABLE) +#if !(NETSTANDARD1_0 || PORTABLE) || NETSTANDARD2_0 [Test] public async Task WriteLazy() { @@ -344,7 +344,7 @@ namespace Newtonsoft.Json.Tests Assert.IsTrue(ms.CanRead); } -#if !(PORTABLE) +#if !(PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public async Task WriteIConvertableAsync() { diff --git a/Src/Newtonsoft.Json.Tests/JsonTextWriterTest.cs b/Src/Newtonsoft.Json.Tests/JsonTextWriterTest.cs index 502fdfb3..11598977 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextWriterTest.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextWriterTest.cs @@ -135,7 +135,7 @@ namespace Newtonsoft.Json.Tests Assert.AreEqual(1, arrayPool.FreeArrays.Count); } -#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) +#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD2_0 [Test] public void BufferErroringWithInvalidSize() { @@ -224,7 +224,7 @@ namespace Newtonsoft.Json.Tests Assert.IsTrue(ms.CanRead); } -#if !(PORTABLE) +#if !(PORTABLE) || NETSTANDARD2_0 [Test] public void WriteIConvertable() { @@ -315,7 +315,7 @@ namespace Newtonsoft.Json.Tests #if !NET20 expected = @"[null,""c"",null,true,null,1,null,1,null,1,null,1,null,1,null,1,null,1,null,1,null,1.1,null,1.1,null,1.1,null,""1970-01-01T00:00:00Z"",null,""1970-01-01T00:00:00+00:00""]"; #else - expected = @"[null,""c"",null,true,null,1,null,1,null,1,null,1,null,1,null,1,null,1,null,1,null,1.1,null,1.1,null,1.1,null,""1970-01-01T00:00:00Z""]"; + expected = @"[null,""c"",null,true,null,1,null,1,null,1,null,1,null,1,null,1,null,1,null,1,null,1.1,null,1.1,null,1.1,null,""1970-01-01T00:00:00Z""]"; #endif Assert.AreEqual(expected, json); diff --git a/Src/Newtonsoft.Json.Tests/JsonValidatingReaderTests.cs b/Src/Newtonsoft.Json.Tests/JsonValidatingReaderTests.cs index 4376c358..33b60710 100644 --- a/Src/Newtonsoft.Json.Tests/JsonValidatingReaderTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonValidatingReaderTests.cs @@ -30,7 +30,7 @@ using System.IO; #if NET20 using Newtonsoft.Json.Utilities.LinqBridge; #endif -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -353,7 +353,7 @@ namespace Newtonsoft.Json.Tests Assert.IsNotNull(validationEventArgs); } -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void IntegerGreaterThanMaximumValue_BigInteger() { @@ -606,7 +606,7 @@ namespace Newtonsoft.Json.Tests Assert.IsNotNull(validationEventArgs); } -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void BigIntegerDivisibleBy_Success() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/ComponentModel/JPropertyDescriptorTests.cs b/Src/Newtonsoft.Json.Tests/Linq/ComponentModel/JPropertyDescriptorTests.cs index 96aee34e..65a1312e 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/ComponentModel/JPropertyDescriptorTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/ComponentModel/JPropertyDescriptorTests.cs @@ -23,8 +23,14 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(PORTABLE || PORTABLE40 || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD2_0 +#if DNXCORE50 +using Xunit; +using Test = Xunit.FactAttribute; +using Assert = Newtonsoft.Json.Tests.XUnitAssert; +#else using NUnit.Framework; +#endif using Newtonsoft.Json.Linq; namespace Newtonsoft.Json.Tests.Linq.ComponentModel diff --git a/Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs b/Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs index a9b871ce..0766b88d 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs @@ -29,7 +29,7 @@ using System; using System.Collections.Generic; using System.Dynamic; using System.Linq; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -257,7 +257,7 @@ namespace Newtonsoft.Json.Tests.Linq new JProperty("Uri", new Uri("http://json.codeplex.com/")), new JProperty("Guid", new Guid("EA27FE1D-0D80-44F2-BF34-4654156FA7AF")), new JProperty("TimeSpan", TimeSpan.FromDays(1)) -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 , new JProperty("BigInteger", BigInteger.Parse("1")) #endif ); @@ -290,7 +290,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.IsTrue(d.Decimal == 1.1m); Assert.IsTrue(d.Decimal != 1.0f); Assert.IsTrue(d.Decimal != 1.0d); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 Assert.IsTrue(d.Decimal > new BigInteger(0)); #endif @@ -306,11 +306,11 @@ namespace Newtonsoft.Json.Tests.Linq Assert.IsTrue(d.Float == 1.1m); Assert.IsTrue(d.Float != 1.0f); Assert.IsTrue(d.Float != 1.0d); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 Assert.IsTrue(d.Float > new BigInteger(0)); #endif -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 Assert.IsTrue(d.BigInteger == d.BigInteger); Assert.IsTrue(d.BigInteger > 0); Assert.IsTrue(d.BigInteger > 0.0m); @@ -366,7 +366,7 @@ namespace Newtonsoft.Json.Tests.Linq new JProperty("Uri", new Uri("http://json.codeplex.com/")), new JProperty("Guid", new Guid("EA27FE1D-0D80-44F2-BF34-4654156FA7AF")), new JProperty("TimeSpan", TimeSpan.FromDays(1)) -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 , new JProperty("BigInteger", new BigInteger(100)) #endif ); @@ -445,7 +445,7 @@ namespace Newtonsoft.Json.Tests.Linq r += 2; Assert.AreEqual(null, r.Value); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 r = d.BigInteger + null; Assert.AreEqual(null, r.Value); r += 2; @@ -524,7 +524,7 @@ namespace Newtonsoft.Json.Tests.Linq r -= 2; Assert.AreEqual(null, r.Value); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 r = d.BigInteger - null; Assert.AreEqual(null, r.Value); r -= 2; @@ -598,7 +598,7 @@ namespace Newtonsoft.Json.Tests.Linq r *= 2; Assert.AreEqual(null, r.Value); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 r = d.BigInteger * 1.1d; Assert.AreEqual(100m, (decimal)r); r *= 2; @@ -672,7 +672,7 @@ namespace Newtonsoft.Json.Tests.Linq r /= 2; Assert.AreEqual(null, r.Value); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 r = d.BigInteger / 1.1d; Assert.AreEqual(100m, (decimal)r); r /= 2; @@ -700,7 +700,7 @@ namespace Newtonsoft.Json.Tests.Linq new JProperty("Uri", new Uri("http://json.codeplex.com/")), new JProperty("Guid", new Guid("EA27FE1D-0D80-44F2-BF34-4654156FA7AF")), new JProperty("TimeSpan", TimeSpan.FromDays(1)) -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 , new JProperty("BigInteger", new BigInteger(100)) #endif ); @@ -717,7 +717,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual("http://json.codeplex.com/", d.Uri.ToString()); Assert.AreEqual("ea27fe1d-0d80-44f2-bf34-4654156fa7af", d.Guid.ToString()); Assert.AreEqual("1.00:00:00", d.TimeSpan.ToString()); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 Assert.AreEqual("100", d.BigInteger.ToString()); #endif } @@ -801,7 +801,7 @@ namespace Newtonsoft.Json.Tests.Linq AssertValueConverted(null); AssertValueConverted(new Uri("http://json.codeplex.com/")); AssertValueConverted(null); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 AssertValueConverted(new BigInteger(100)); AssertValueConverted(null); #endif diff --git a/Src/Newtonsoft.Json.Tests/Linq/JArrayTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JArrayTests.cs index 49c8bee4..735ed36c 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JArrayTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JArrayTests.cs @@ -431,7 +431,7 @@ Parameter name: index"); } } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 [Test] public void ITypedListGetItemProperties() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JObjectTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JObjectTests.cs index d054847c..ce5e4e95 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JObjectTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JObjectTests.cs @@ -58,7 +58,7 @@ namespace Newtonsoft.Json.Tests.Linq [TestFixture] public class JObjectTests : TestFixtureBase { -#if !(NET35 || NET20 || PORTABLE40) +#if !(NET35 || NET20 || PORTABLE40) || NETSTANDARD2_0 [Test] public void EmbedJValueStringInNewJObject() { @@ -716,7 +716,7 @@ Parameter name: arrayIndex"); Assert.AreEqual(p4, l[1]); } -#if !(NET20 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void PropertyChanging() { @@ -1259,7 +1259,7 @@ Parameter name: arrayIndex"); }, "Can not add property Test3 to Newtonsoft.Json.Linq.JObject. Property with the same name already exists on object."); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 [Test] public void IBindingListSortDirection() { @@ -1454,7 +1454,7 @@ Parameter name: arrayIndex"); } #endif -#if !(NET20 || NET35 || PORTABLE40) +#if !(NET20 || NET35 || PORTABLE40) || NETSTANDARD2_0 [Test] public void CollectionChanged() { @@ -1583,7 +1583,7 @@ Parameter name: arrayIndex"); Assert.AreEqual("Name2", value); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 [Test] public void WriteObjectNullDBNullValue() { @@ -1695,7 +1695,7 @@ Parameter name: arrayIndex"); }, "Unexpected end of content while loading JObject. Path 'short.error.code', line 6, position 14."); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 [Test] public void GetProperties() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JPropertyTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JPropertyTests.cs index 49b74c61..64a422ee 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JPropertyTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JPropertyTests.cs @@ -61,7 +61,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(p, p.Value.Parent); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 [Test] public void ListChanged() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderAsyncTests.cs index ba601184..c394663e 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderAsyncTests.cs @@ -36,7 +36,7 @@ using Assert = Newtonsoft.Json.Tests.XUnitAssert; using NUnit.Framework; #endif using System.IO; -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using Newtonsoft.Json.Linq; @@ -48,7 +48,7 @@ namespace Newtonsoft.Json.Tests.Linq [TestFixture] public class JTokenReaderAsyncTests : TestFixtureBase { -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public async Task ConvertBigIntegerToDoubleAsync() { @@ -757,7 +757,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(1d, await reader.ReadAsDoubleAsync()); } -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public async Task ReadAsBoolean_BigInteger_SuccessAsync() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderTest.cs b/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderTest.cs index ed55bc11..85c4feea 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderTest.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderTest.cs @@ -35,7 +35,7 @@ using NUnit.Framework; #endif using Newtonsoft.Json; using System.IO; -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using Newtonsoft.Json.Linq; @@ -47,7 +47,7 @@ namespace Newtonsoft.Json.Tests.Linq [TestFixture] public class JTokenReaderTest : TestFixtureBase { -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ConvertBigIntegerToDouble() { @@ -884,7 +884,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(1d, reader.ReadAsDouble()); } -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ReadAsBoolean_BigInteger_Success() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs index 1a5a1630..887b5453 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs @@ -25,7 +25,7 @@ using System; using System.Collections.Generic; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -369,7 +369,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(5, (int)(new JValue(StringComparison.OrdinalIgnoreCase))); -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 string bigIntegerText = "1234567899999999999999999999999999999999999999999999999999999999999990"; Assert.AreEqual(BigInteger.Parse(bigIntegerText), (new JValue(BigInteger.Parse(bigIntegerText))).Value); @@ -449,7 +449,7 @@ namespace Newtonsoft.Json.Tests.Linq #endif ExceptionAssert.Throws(() => { var i = (Uri)new JValue(true); }, "Can not convert Boolean to Uri."); -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 ExceptionAssert.Throws(() => { var i = (new JValue(new Uri("http://www.google.com"))).ToObject(); }, "Can not convert Uri to BigInteger."); ExceptionAssert.Throws(() => { var i = (JValue.CreateNull()).ToObject(); }, "Can not convert Null to BigInteger."); ExceptionAssert.Throws(() => { var i = (new JValue(Guid.NewGuid())).ToObject(); }, "Can not convert Guid to BigInteger."); @@ -466,7 +466,7 @@ namespace Newtonsoft.Json.Tests.Linq [Test] public void ToObject() { -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 Assert.AreEqual((BigInteger)1, (new JValue(1).ToObject(typeof(BigInteger)))); Assert.AreEqual((BigInteger)1, (new JValue(1).ToObject(typeof(BigInteger?)))); Assert.AreEqual((BigInteger?)null, (JValue.CreateNull().ToObject(typeof(BigInteger?)))); @@ -524,7 +524,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.IsTrue(JToken.DeepEquals(new JValue((DateTimeOffset?)null), (JValue)(DateTimeOffset?)null)); #endif -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 // had to remove implicit casting to avoid user reference to System.Numerics.dll Assert.IsTrue(JToken.DeepEquals(new JValue(new BigInteger(1)), new JValue(new BigInteger(1)))); Assert.IsTrue(JToken.DeepEquals(new JValue((BigInteger?)null), new JValue((BigInteger?)null))); @@ -1147,7 +1147,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.IsTrue(a.DeepEquals(a2)); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 [Test] public void Clone() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterAsyncTests.cs index 5fe39c15..92e24237 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterAsyncTests.cs @@ -26,7 +26,7 @@ #if !(NET20 || NET35 || NET40 || PORTABLE40) using System; -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -115,7 +115,7 @@ namespace Newtonsoft.Json.Tests.Linq await jsonWriter.WriteValueAsync("DVD read/writer"); Assert.AreEqual(WriteState.Array, jsonWriter.WriteState); -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 await jsonWriter.WriteValueAsync(new BigInteger(123)); Assert.AreEqual(WriteState.Array, jsonWriter.WriteState); #endif @@ -167,7 +167,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(WriteState.Array, jsonWriter.WriteState); Assert.AreEqual(a[a.Count - 1], jsonWriter.CurrentToken); -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 await jsonWriter.WriteValueAsync(new BigInteger(123)); Assert.AreEqual(WriteState.Array, jsonWriter.WriteState); Assert.AreEqual(a[a.Count - 1], jsonWriter.CurrentToken); @@ -200,7 +200,7 @@ namespace Newtonsoft.Json.Tests.Linq /*fail*/]", writer.Token.ToString()); } -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public async Task WriteBigIntegerAsync() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterTest.cs b/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterTest.cs index 8134ff6e..d8d7dbe5 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterTest.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterTest.cs @@ -25,7 +25,7 @@ using System; using System.Collections.Generic; -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -120,7 +120,7 @@ namespace Newtonsoft.Json.Tests.Linq jsonWriter.WriteValue("DVD read/writer"); Assert.AreEqual(WriteState.Array, jsonWriter.WriteState); -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 jsonWriter.WriteValue(new BigInteger(123)); Assert.AreEqual(WriteState.Array, jsonWriter.WriteState); #endif @@ -172,7 +172,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(WriteState.Array, jsonWriter.WriteState); Assert.AreEqual(a[a.Count - 1], jsonWriter.CurrentToken); -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 jsonWriter.WriteValue(new BigInteger(123)); Assert.AreEqual(WriteState.Array, jsonWriter.WriteState); Assert.AreEqual(a[a.Count - 1], jsonWriter.CurrentToken); @@ -205,7 +205,7 @@ namespace Newtonsoft.Json.Tests.Linq /*fail*/]", writer.Token.ToString()); } -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void WriteBigInteger() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JValueTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JValueTests.cs index 9a03cb33..4586fec4 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JValueTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JValueTests.cs @@ -28,7 +28,7 @@ using System.Collections.Generic; using System.IO; using System.Runtime.Serialization; using Newtonsoft.Json.Tests.TestObjects; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Text; @@ -179,7 +179,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(g, v.Value); Assert.AreEqual(JTokenType.Guid, v.Type); -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 BigInteger i = BigInteger.Parse("123456789999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990"); v.Value = i; Assert.AreEqual(i, v.Value); @@ -239,13 +239,13 @@ namespace Newtonsoft.Json.Tests.Linq v = new JValue(new Guid("B282ADE7-C520-496C-A448-4084F6803DE5")); Assert.AreEqual("b282ade7-c520-496c-a448-4084f6803de5", v.ToString(null, CultureInfo.InvariantCulture)); -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 v = new JValue(BigInteger.Parse("123456789999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990")); Assert.AreEqual("123456789999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990", v.ToString(null, CultureInfo.InvariantCulture)); #endif } -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void JValueParse() { @@ -256,7 +256,7 @@ namespace Newtonsoft.Json.Tests.Linq } #endif -#if !(PORTABLE) || NETSTANDARD1_3 +#if !(PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void JValueIConvertable() { @@ -503,7 +503,7 @@ namespace Newtonsoft.Json.Tests.Linq } #endif -#if !(PORTABLE) || NETSTANDARD1_3 +#if !(PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ConvertsToBoolean() { @@ -522,7 +522,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(Int32.MaxValue, Convert.ToInt32(new JValue(Int32.MaxValue))); } -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ConvertsToInt32_BigInteger() { @@ -684,7 +684,7 @@ namespace Newtonsoft.Json.Tests.Linq v = new JValue(new Uri("http://www.google.com")); Assert.AreEqual(TypeCode.Object, v.GetTypeCode()); -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 v = new JValue(new BigInteger(3)); Assert.AreEqual(TypeCode.Object, v.GetTypeCode()); #endif @@ -703,7 +703,7 @@ namespace Newtonsoft.Json.Tests.Linq int i = (int)v.ToType(typeof(int), CultureInfo.InvariantCulture); Assert.AreEqual(9, i); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 BigInteger bi = (BigInteger)v.ToType(typeof(BigInteger), CultureInfo.InvariantCulture); Assert.AreEqual(new BigInteger(9), bi); #endif @@ -718,7 +718,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual("2013", v.ToString("yyyy")); } -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ToStringNewTypes() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JsonPath/JPathExecuteTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JsonPath/JPathExecuteTests.cs index e3f50c31..f9aa34f5 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JsonPath/JPathExecuteTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JsonPath/JPathExecuteTests.cs @@ -26,7 +26,7 @@ using System; using System.Collections.Generic; using System.Text; -#if !(PORTABLE || PORTABLE40 || NET35 || NET20) || NETSTANDARD1_3 +#if !(PORTABLE || PORTABLE40 || NET35 || NET20) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using Newtonsoft.Json.Linq.JsonPath; @@ -938,7 +938,7 @@ namespace Newtonsoft.Json.Tests.Linq.JsonPath Assert.IsTrue(JToken.DeepEquals(new JObject(new JProperty("hi", 3)), t[1])); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40 || NET35 || NET20) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40 || NET35 || NET20) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void GreaterQueryBigInteger() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonTest.cs b/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonTest.cs index 20b4ed19..3e52c8ff 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonTest.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonTest.cs @@ -52,7 +52,7 @@ namespace Newtonsoft.Json.Tests.Linq [TestFixture] public class LinqToJsonTest : TestFixtureBase { -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 public class DemoClass { public decimal maxValue; diff --git a/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.csproj b/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.csproj index 487a5f40..eaa229b4 100644 --- a/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.csproj +++ b/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.csproj @@ -6,7 +6,7 @@ - net46;net451;net452;net40;net35;net20;netcoreapp2.0;netcoreapp1.0 + net46;net451;net452;net40;net35;net20;netcoreapp2.0;netcoreapp1.1;netcoreapp1.0 $(TestFrameworks) 1.0 James Newton-King @@ -18,7 +18,7 @@ Newtonsoft.Json.Tests false - Full + Full @@ -153,7 +153,7 @@ Json.NET Tests .NET 2.0 NET20;$(AdditionalConstants) - + @@ -162,17 +162,38 @@ - + + + Json.NET Tests .NET Standard 2.0 + .NETStandard,Version=v2.0 + NETSTANDARD2_0;DNXCORE50;PORTABLE;HAVE_BENCHMARKS;$(AdditionalConstants) + + + + + + + + + + + + + + + + + Json.NET Tests .NET Standard 1.3 .NETStandard,Version=v1.3 NETSTANDARD1_3;DNXCORE50;PORTABLE;HAVE_BENCHMARKS;$(AdditionalConstants) - + @@ -181,6 +202,7 @@ + diff --git a/Src/Newtonsoft.Json.Tests/Schema/JsonSchemaGeneratorTests.cs b/Src/Newtonsoft.Json.Tests/Schema/JsonSchemaGeneratorTests.cs index 160417bb..e98489f6 100644 --- a/Src/Newtonsoft.Json.Tests/Schema/JsonSchemaGeneratorTests.cs +++ b/Src/Newtonsoft.Json.Tests/Schema/JsonSchemaGeneratorTests.cs @@ -312,7 +312,7 @@ namespace Newtonsoft.Json.Tests.Schema Assert.IsTrue(v.IsValid(schema)); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void GenerateSchemaForISerializable() { @@ -340,7 +340,7 @@ namespace Newtonsoft.Json.Tests.Schema } #endif -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 public class CustomDirectoryInfoMapper : DefaultContractResolver { public CustomDirectoryInfoMapper() @@ -376,7 +376,7 @@ namespace Newtonsoft.Json.Tests.Schema generator.UndefinedSchemaIdHandling = UndefinedSchemaIdHandling.UseTypeName; generator.ContractResolver = new CamelCasePropertyNamesContractResolver() { -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 IgnoreSerializableAttribute = true #endif }; @@ -421,7 +421,7 @@ namespace Newtonsoft.Json.Tests.Schema }", json); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void GenerateSchemaSerializable() { @@ -734,7 +734,7 @@ namespace Newtonsoft.Json.Tests.Schema { } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Serializable] public sealed class SerializableTestObject { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/CamelCasePropertyNamesContractResolverTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/CamelCasePropertyNamesContractResolverTests.cs index 620c0deb..a96adcb0 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/CamelCasePropertyNamesContractResolverTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/CamelCasePropertyNamesContractResolverTests.cs @@ -119,7 +119,7 @@ namespace Newtonsoft.Json.Tests.Serialization string json = o.ToString(); } -#if !(PORTABLE || PORTABLE40) +#if !(PORTABLE || PORTABLE40) || NETSTANDARD2_0 #pragma warning disable 618 [Test] public void MemberSearchFlags() diff --git a/Src/Newtonsoft.Json.Tests/Serialization/ContractResolverTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/ContractResolverTests.cs index 7185c288..dd73919e 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/ContractResolverTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/ContractResolverTests.cs @@ -115,7 +115,7 @@ namespace Newtonsoft.Json.Tests.Serialization [TestFixture] public class ContractResolverTests : TestFixtureBase { -#if !(PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ResolveSerializableContract() { @@ -573,7 +573,7 @@ namespace Newtonsoft.Json.Tests.Serialization }", startingWithB); } -#if !(PORTABLE || PORTABLE40) +#if !(PORTABLE || PORTABLE40) || NETSTANDARD2_0 #pragma warning disable 618 [Test] public void SerializeCompilerGeneratedMembers() diff --git a/Src/Newtonsoft.Json.Tests/Serialization/DependencyInjectionTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/DependencyInjectionTests.cs index 06306b76..959a9975 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/DependencyInjectionTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/DependencyInjectionTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET40 || NET35 || NET20 || DNXCORE50 || PORTABLE || PORTABLE40) +#if !(NET40 || NET35 || NET20 || DNXCORE50 || PORTABLE || PORTABLE40) || NETSTANDARD1_0 || NETSTANDARD1_3 || NETSTANDARD2_0 using Autofac; using Newtonsoft.Json.Serialization; using Newtonsoft.Json.Tests.TestObjects; diff --git a/Src/Newtonsoft.Json.Tests/Serialization/DynamicTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/DynamicTests.cs index 84096969..37cfb367 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/DynamicTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/DynamicTests.cs @@ -101,7 +101,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual(dynamicObject.ChildObject.Text, d.ChildObject.Text); } -#if !(PORTABLE || PORTABLE40) +#if !(PORTABLE || PORTABLE40) || NETSTANDARD2_0 [Test] public void SerializeDynamicObjectWithObjectTracking() { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/FSharpTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/FSharpTests.cs index 12c2225e..10192bd7 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/FSharpTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/FSharpTests.cs @@ -23,8 +23,14 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET40 || NET35 || NET20 || DNXCORE50) +#if !(NET40 || NET35 || NET20 || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 +#if DNXCORE50 +using Xunit; +using Test = Xunit.FactAttribute; +using Assert = Newtonsoft.Json.Tests.XUnitAssert; +#else using NUnit.Framework; +#endif using System; using System.Collections.Generic; using System.Linq; diff --git a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerCollectionsTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerCollectionsTests.cs index e59b0c94..1bba7b41 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerCollectionsTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerCollectionsTests.cs @@ -262,7 +262,7 @@ namespace Newtonsoft.Json.Tests.Serialization "Constructor for 'Newtonsoft.Json.Tests.Serialization.JsonSerializerCollectionsTests+TestCollectionBadIEnumerableParameter' must have no parameters or a single parameter that implements 'System.Collections.Generic.IEnumerable`1[System.Int32]'."); } -#if !(DNXCORE50 || PORTABLE) +#if !(DNXCORE50 || PORTABLE) || NETSTANDARD2_0 public class TestCollectionNonGeneric : ArrayList { [JsonConstructor] @@ -279,9 +279,9 @@ namespace Newtonsoft.Json.Tests.Serialization TestCollectionNonGeneric l = JsonConvert.DeserializeObject(json); Assert.AreEqual(3, l.Count); - Assert.AreEqual(1, l[0]); - Assert.AreEqual(2, l[1]); - Assert.AreEqual(3, l[2]); + Assert.AreEqual(1L, l[0]); + Assert.AreEqual(2L, l[1]); + Assert.AreEqual(3L, l[2]); } #endif @@ -375,7 +375,7 @@ namespace Newtonsoft.Json.Tests.Serialization "Constructor for 'Newtonsoft.Json.Tests.Serialization.JsonSerializerCollectionsTests+TestDictionaryBadIEnumerableParameter' must have no parameters or a single parameter that implements 'System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Int32]]'."); } -#if !(DNXCORE50 || PORTABLE) +#if !(DNXCORE50 || PORTABLE) || NETSTANDARD2_0 public class TestDictionaryNonGeneric : Hashtable { [JsonConstructor] @@ -392,13 +392,13 @@ namespace Newtonsoft.Json.Tests.Serialization TestDictionaryNonGeneric d = JsonConvert.DeserializeObject(json); Assert.AreEqual(3, d.Count); - Assert.AreEqual(0, d["zero"]); - Assert.AreEqual(1, d["one"]); - Assert.AreEqual(2, d["two"]); + Assert.AreEqual(0L, d["zero"]); + Assert.AreEqual(1L, d["one"]); + Assert.AreEqual(2L, d["two"]); } #endif -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 public class NameValueCollectionTestClass { public NameValueCollection Collection { get; set; } @@ -413,7 +413,7 @@ namespace Newtonsoft.Json.Tests.Serialization } #endif -#if !(NET35 || NET20 || PORTABLE || PORTABLE40) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) || NETSTANDARD2_0 public class SomeObject { public string Text1 { get; set; } @@ -1055,7 +1055,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual(3, v2["Third"]); } -#if !(NET35 || NET20 || PORTABLE || PORTABLE40) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) || NETSTANDARD2_0 [Test] public void DeserializeConcurrentDictionary() { @@ -1769,7 +1769,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual(1, (int)((JObject)o.Data[2])["one"]); } -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 [Test] public void SerializeArrayAsArrayList() { @@ -1999,7 +1999,7 @@ namespace Newtonsoft.Json.Tests.Serialization } #endif -#if !DNXCORE50 +#if !DNXCORE50 || NETSTANDARD2_0 [Test] public void EmptyStringInHashtableIsDeserialized() { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs index aef4d16b..445fce96 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs @@ -29,15 +29,17 @@ using System.ComponentModel; using System.Collections.Concurrent; #endif using System.Collections.Generic; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif -#if !(NET20 || DNXCORE50) +#if !(NET20 || DNXCORE50) || NETSTANDARD2_0 using System.ComponentModel.DataAnnotations; using System.Configuration; using System.Runtime.CompilerServices; using System.Runtime.Serialization.Formatters; using System.Threading; +#endif +#if !(NET20 || DNXCORE50) using System.Web.Script.Serialization; #endif using System.Text; @@ -218,7 +220,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual("def", enumerableObject[1].Value); } -#if !(PORTABLE || PORTABLE40 || NET20 || NET35) +#if !(PORTABLE || PORTABLE40 || NET20 || NET35) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void LargeIntegerAsString() { @@ -274,7 +276,7 @@ namespace Newtonsoft.Json.Tests.Serialization @"Error converting value {null} to type 'System.Boolean'. Path '[0]', line 1, position 3."); } -#if !(PORTABLE || PORTABLE40 || NET35 || NET20) +#if !(PORTABLE || PORTABLE40 || NET35 || NET20) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void DeserializeBooleans() { @@ -739,7 +741,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.IsNull(otc.Value5); } -#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ReadIntegerWithError() { @@ -991,7 +993,7 @@ namespace Newtonsoft.Json.Tests.Serialization serializer.ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor; Assert.AreEqual(ConstructorHandling.AllowNonPublicDefaultConstructor, serializer.ConstructorHandling); -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 serializer.Context = new StreamingContext(StreamingContextStates.Other); Assert.AreEqual(new StreamingContext(StreamingContextStates.Other), serializer.Context); #endif @@ -1062,7 +1064,7 @@ namespace Newtonsoft.Json.Tests.Serialization serializer.TraceWriter = traceWriter; Assert.AreEqual(traceWriter, serializer.TraceWriter); -#if !(PORTABLE || PORTABLE40 || NET20 || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || NET20 || DNXCORE50) || NETSTANDARD2_0 #pragma warning disable 618 serializer.TypeNameAssemblyFormat = FormatterAssemblyStyle.Full; Assert.AreEqual(FormatterAssemblyStyle.Full, serializer.TypeNameAssemblyFormat); @@ -1100,7 +1102,7 @@ namespace Newtonsoft.Json.Tests.Serialization settings.ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor; Assert.AreEqual(ConstructorHandling.AllowNonPublicDefaultConstructor, settings.ConstructorHandling); -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 settings.Context = new StreamingContext(StreamingContextStates.Other); Assert.AreEqual(new StreamingContext(StreamingContextStates.Other), settings.Context); #endif @@ -1177,7 +1179,7 @@ namespace Newtonsoft.Json.Tests.Serialization settings.TraceWriter = traceWriter; Assert.AreEqual(traceWriter, settings.TraceWriter); -#if !(PORTABLE || PORTABLE40 || NET20 || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || NET20 || DNXCORE50) || NETSTANDARD2_0 #pragma warning disable 618 settings.TypeNameAssemblyFormat = FormatterAssemblyStyle.Full; Assert.AreEqual(FormatterAssemblyStyle.Full, settings.TypeNameAssemblyFormat); @@ -1226,7 +1228,7 @@ namespace Newtonsoft.Json.Tests.Serialization serializerProxy.ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor; Assert.AreEqual(ConstructorHandling.AllowNonPublicDefaultConstructor, serializerProxy.ConstructorHandling); -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 serializerProxy.Context = new StreamingContext(StreamingContextStates.Other); Assert.AreEqual(new StreamingContext(StreamingContextStates.Other), serializerProxy.Context); #endif @@ -1297,7 +1299,7 @@ namespace Newtonsoft.Json.Tests.Serialization serializerProxy.TraceWriter = traceWriter; Assert.AreEqual(traceWriter, serializerProxy.TraceWriter); -#if !(PORTABLE || PORTABLE40 || NET20 || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || NET20 || DNXCORE50) || NETSTANDARD2_0 #pragma warning disable 618 serializerProxy.TypeNameAssemblyFormat = FormatterAssemblyStyle.Full; Assert.AreEqual(FormatterAssemblyStyle.Full, serializerProxy.TypeNameAssemblyFormat); @@ -1318,7 +1320,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual(TypeNameHandling.All, serializerProxy.TypeNameHandling); } -#if !(PORTABLE || PORTABLE40 || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void DeserializeISerializableIConvertible() { @@ -1800,7 +1802,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual(executorObject2.clientGetResultFunction, "ClientBanSubsCB"); } -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 [Test] public void HashtableDeserialization() { @@ -2241,7 +2243,7 @@ keyword such as type of business."" string json = JsonConvert.SerializeObject(new ConverableMembers(), Formatting.Indented); string expected = null; -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50) || NETSTANDARD2_0 expected = @"{ ""String"": ""string"", ""Int32"": 2147483647, @@ -3423,7 +3425,7 @@ To fix this error either change the JSON to a JSON object (e.g. {""name"":""valu Path '', line 1, position 1."); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50) || NETSTANDARD2_0 [Test] public void CannotDeserializeArrayIntoSerializable() { @@ -3541,7 +3543,7 @@ Path '', line 1, position 1."); { ContractResolver = new DefaultContractResolver { -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 IgnoreSerializableAttribute = true #endif } @@ -3558,7 +3560,7 @@ Path '', line 1, position 1."); { ContractResolver = new DefaultContractResolver { -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 IgnoreSerializableAttribute = true #endif } @@ -3575,7 +3577,7 @@ Path '', line 1, position 1."); { ContractResolver = new DefaultContractResolver { -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 IgnoreSerializableAttribute = true #endif } @@ -3592,7 +3594,7 @@ Path '', line 1, position 1."); { ContractResolver = new DefaultContractResolver { -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 IgnoreSerializableAttribute = true #endif } @@ -4054,7 +4056,7 @@ Path '', line 1, position 1."); Assert.AreEqual("value", newModelStateDictionary["key"]); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 #if DEBUG [Test] public void SerializeISerializableInPartialTrustWithIgnoreInterface() @@ -4201,7 +4203,7 @@ Path '', line 1, position 1."); #if !NET20 dateTimeOffsetText = @"\/Date(977345999000+0200)\/"; #else - dateTimeOffsetText = @"12/20/2000 22:59:59 +02:00"; + dateTimeOffsetText = @"12/20/2000 22:59:59 +02:00"; #endif ISerializableTestObject o = new ISerializableTestObject("String!", int.MinValue, dateTimeOffset, person); @@ -4291,7 +4293,7 @@ Path '', line 1, position 1."); }", json); } -#if !(PORTABLE) +#if !(PORTABLE) || NETSTANDARD2_0 [Test] public void DeserializeClassWithInheritedProtectedMember() { @@ -4391,7 +4393,7 @@ Path '', line 1, position 1."); } #endif -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void SerializeDeserializeXmlNodeProperties() { @@ -4607,7 +4609,7 @@ Path '', line 1, position 1."); Assert.AreEqual(0, z[1].Prop1.Length); } -#if !(NET20 || DNXCORE50) +#if !(NET20 || DNXCORE50) || NETSTANDARD2_0 [Test] public void StringDictionaryTest() { @@ -4852,7 +4854,7 @@ Path '', line 1, position 1."); Assert.AreEqual(meh.IDontWork, "meh"); } -#if !(NET20 || DNXCORE50) +#if !(NET20 || DNXCORE50) || NETSTANDARD2_0 [Test] public void DeserializeNullableStruct() { @@ -5265,7 +5267,7 @@ Path '', line 1, position 1."); } #endif -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 [Test] public void SerializeException1() { @@ -5484,7 +5486,7 @@ Path '', line 1, position 1."); Assert.AreEqual(-3, StaticTestClass.z); } -#if !(NET20 || DNXCORE50) +#if !(NET20 || DNXCORE50) || NETSTANDARD2_0 [Test] public void DeserializeDecimalsWithCulture() { @@ -5584,7 +5586,7 @@ Path '', line 1, position 1."); }, "Error converting value {null} to type 'System.Int32'. Path '[3]', line 5, position 6."); } -#if !(PORTABLE) +#if !(PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void SerializeIConvertible() { @@ -6312,7 +6314,7 @@ Path '', line 1, position 1."); Assert.AreEqual("", s); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void SerializeAndDeserializeWithAttributes() { @@ -6682,7 +6684,7 @@ This is just junk, though."; } #if !(NET20 || NET35 || NET40 || PORTABLE40) -#if !PORTABLE || NETSTANDARD1_3 +#if !PORTABLE || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void DeserializeReadOnlyListWithBigInteger() { @@ -6740,7 +6742,7 @@ This is just junk, though."; Action doStuff = () => { obj = JsonConvert.DeserializeObject>(json); }; -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 doStuff(); Assert.AreEqual(500, obj.Item1); #else @@ -6771,7 +6773,7 @@ This is just junk, though."; } #endif -#if !(PORTABLE || NET35 || NET20 || PORTABLE40 || DNXCORE50) +#if !(PORTABLE || NET35 || NET20 || PORTABLE40 || DNXCORE50) || NETSTANDARD2_0 [Test] public void SerializeTupleWithSerializableAttribute() { @@ -6967,7 +6969,7 @@ This is just junk, though."; } #endif -#if !(PORTABLE || NET35 || NET20 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || NET35 || NET20 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ReadTooLargeInteger() { @@ -6990,7 +6992,7 @@ This is just junk, though."; Assert.AreEqual(@"{""First"":""One"",""Second"":2}", json); -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 DefaultContractResolver r = new DefaultContractResolver(); r.IgnoreSerializableAttribute = false; @@ -7097,7 +7099,7 @@ This is just junk, though."; Assert.AreEqual(1234567890.123456m, d); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void DontSerializeStaticFields() { @@ -7121,7 +7123,7 @@ This is just junk, though."; } #endif -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void SerializeBigInteger() { @@ -7262,7 +7264,7 @@ This is just junk, though."; } #endif -#if !(PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD1_0 || NETSTANDARD1_3 +#if !(PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD1_0 || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void SerializeDictionaryWithStructKey_Custom() { @@ -7353,7 +7355,7 @@ This is just junk, though."; Assert.AreEqual(jane, john.Spouse); } -#if !(NET35 || NET20 || PORTABLE || PORTABLE40) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void TypeConverterOnInterface() { @@ -7419,7 +7421,7 @@ This is just junk, though."; ParticipantEntity deserializedProduct = JsonConvert.DeserializeObject(json); } -#if !(PORTABLE) +#if !(PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void ConvertibleIdTest() { @@ -7745,7 +7747,7 @@ This is just junk, though."; Assert.AreEqual("derived", d.DerivedProperty); } -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void DeserializeNullableUnsignedLong() { @@ -7760,7 +7762,7 @@ This is just junk, though."; } #endif -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 [Test] public void MailMessageConverterTest() { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/MetadataPropertyHandlingTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/MetadataPropertyHandlingTests.cs index 3ecd9794..ea60f8a8 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/MetadataPropertyHandlingTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/MetadataPropertyHandlingTests.cs @@ -339,7 +339,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.IsTrue(JToken.DeepEquals(t1, t2)); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 [Test] public void DeserializeGenericObjectListWithTypeName() { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/ReferenceLoopHandlingTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/ReferenceLoopHandlingTests.cs index 56163d4d..519bea67 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/ReferenceLoopHandlingTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/ReferenceLoopHandlingTests.cs @@ -151,7 +151,7 @@ namespace Newtonsoft.Json.Tests.Serialization }", json); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 public class MainClass : ISerializable { public ChildClass Child { get; set; } diff --git a/Src/Newtonsoft.Json.Tests/Serialization/ReflectionAttributeProviderTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/ReflectionAttributeProviderTests.cs index 226539a6..3e913ff1 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/ReflectionAttributeProviderTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/ReflectionAttributeProviderTests.cs @@ -68,7 +68,7 @@ namespace Newtonsoft.Json.Tests.Serialization public void GetAttributes_Property() { PropertyInfo property; -#if DNXCORE50 +#if DNXCORE50 && !NETSTANDARD2_0 property = Newtonsoft.Json.Utilities.TypeExtensions.GetProperty(typeof(ReflectionTestObject), "TestProperty"); #else property = typeof(ReflectionTestObject).GetProperty("TestProperty"); @@ -87,7 +87,7 @@ namespace Newtonsoft.Json.Tests.Serialization public void GetAttributes_Field() { FieldInfo field; -#if DNXCORE50 +#if DNXCORE50 && !NETSTANDARD2_0 field = (FieldInfo)Newtonsoft.Json.Utilities.TypeExtensions.GetField(typeof(ReflectionTestObject), "TestField"); #else field = typeof(ReflectionTestObject).GetField("TestField"); diff --git a/Src/Newtonsoft.Json.Tests/Serialization/SerializationEventAttributeTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/SerializationEventAttributeTests.cs index e539829b..b0ffd712 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/SerializationEventAttributeTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/SerializationEventAttributeTests.cs @@ -272,7 +272,7 @@ namespace Newtonsoft.Json.Tests.Serialization }", json); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50) || NETSTANDARD2_0 public class SerializationEventContextTestObject { public string TestMember { get; set; } @@ -303,7 +303,8 @@ namespace Newtonsoft.Json.Tests.Serialization } #endif -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50) || NETSTANDARD2_0 + [Test] public void WhenSerializationErrorDetectedBySerializer_ThenCallbackIsCalled() { // Verify contract is properly finding our callback diff --git a/Src/Newtonsoft.Json.Tests/Serialization/TraceWriterTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/TraceWriterTests.cs index a2268861..29a97f3c 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/TraceWriterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/TraceWriterTests.cs @@ -4,7 +4,7 @@ using System.Diagnostics; using System.Globalization; using System.IO; using Newtonsoft.Json.Linq; -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 using System.Numerics; #endif using System.Runtime.Serialization; @@ -44,7 +44,7 @@ namespace Newtonsoft.Json.Tests.Serialization [TestFixture] public class TraceWriterTests : TestFixtureBase { -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 [Test] public void DiagnosticsTraceWriterTest() { @@ -790,7 +790,7 @@ Newtonsoft.Json Error: 0 : Error! Assert.IsTrue(traceWriter.TraceRecords[9].Message.StartsWith("Finished deserializing System.Collections.Generic.List`1[System.Object]. Path '$values'")); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD2_0 [Test] public void DeserializeISerializable() { @@ -996,7 +996,7 @@ Newtonsoft.Json Error: 0 : Error! Assert.AreEqual(23, deserialized.FavoriteNumber); } -#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void TraceJsonWriterTest() { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/TypeNameHandlingTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/TypeNameHandlingTests.cs index 090b440f..b83b87b8 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/TypeNameHandlingTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/TypeNameHandlingTests.cs @@ -28,7 +28,7 @@ using Newtonsoft.Json.Utilities.LinqBridge; #else using System.Linq; #endif -#if !(PORTABLE || PORTABLE40) +#if !(PORTABLE || PORTABLE40) || NETSTANDARD2_0 using System.Collections.ObjectModel; #if !(NET35 || NET20) using System.Dynamic; @@ -1165,10 +1165,12 @@ namespace Newtonsoft.Json.Tests.Serialization #pragma warning restore 618 }); + string dictionaryTypeName = ReflectionUtils.GetTypeName(typeof(Dictionary), TypeNameAssemblyFormatHandling.Simple, null); string urlStatusTypeName = ReflectionUtils.GetTypeName(typeof(UrlStatus), TypeNameAssemblyFormatHandling.Simple, null); + string listTypeName = ReflectionUtils.GetTypeName(typeof(List), TypeNameAssemblyFormatHandling.Simple, null); StringAssert.AreEqual(@"{ - ""$type"": ""System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib"", + ""$type"": """ + dictionaryTypeName + @""", ""First"": { ""$type"": """ + urlStatusTypeName + @""", ""Status"": 404, @@ -1180,7 +1182,7 @@ namespace Newtonsoft.Json.Tests.Serialization ""Url"": ""http://www.google.com"" }, ""List"": { - ""$type"": ""System.Collections.Generic.List`1[[" + urlStatusTypeName + @"]], mscorlib"", + ""$type"": """ + listTypeName + @""", ""$values"": [ { ""$type"": """ + urlStatusTypeName + @""", @@ -1306,15 +1308,17 @@ namespace Newtonsoft.Json.Tests.Serialization string output = JsonConvert.SerializeObject(testerObject, Formatting.Indented, jsonSettings); string carClassRef = ReflectionUtils.GetTypeName(typeof(Car), TypeNameAssemblyFormatHandling.Simple, null); + string objectArrayRef = ReflectionUtils.GetTypeName(typeof(object[]), TypeNameAssemblyFormatHandling.Simple, null); + string byteArrayRef = ReflectionUtils.GetTypeName(typeof(byte[]), TypeNameAssemblyFormatHandling.Simple, null); StringAssert.AreEqual(output, @"{ ""$type"": """ + carClassRef + @""", ""Year"": ""2000-10-05T01:01:01Z"", ""Objects"": { - ""$type"": ""System.Object[], mscorlib"", + ""$type"": """ + objectArrayRef + @""", ""$values"": [ { - ""$type"": ""System.Byte[], mscorlib"", + ""$type"": """ + byteArrayRef + @""", ""$value"": ""S0FSSVJB"" }, ""prueba"" @@ -1331,7 +1335,7 @@ namespace Newtonsoft.Json.Tests.Serialization CollectionAssert.AreEquivalent(data, d); } -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 [Test] public void ISerializableTypeNameHandlingTest() { @@ -1611,6 +1615,9 @@ namespace Newtonsoft.Json.Tests.Serialization }; string json = JsonConvert.SerializeObject(c1, Formatting.Indented); + + string listTypeName = ReflectionUtils.GetTypeName(typeof(List), TypeNameAssemblyFormatHandling.Simple, null); + StringAssert.AreEqual(@"{ ""Data"": [ { @@ -1618,7 +1625,7 @@ namespace Newtonsoft.Json.Tests.Serialization ""MyProperty"": 1 }, { - ""$type"": ""System.Collections.Generic.List`1[[System.Object, mscorlib]], mscorlib"", + ""$type"": """+ listTypeName + @""", ""$values"": [ [ [] @@ -1643,7 +1650,7 @@ namespace Newtonsoft.Json.Tests.Serialization ""MyProperty"": 1 }, { - ""$type"": ""System.Collections.Generic.List`1[[System.Object, mscorlib]], mscorlib"", + ""$type"": """ + listTypeName + @""", ""$values"": [ { ""$type"": ""Newtonsoft.Json.Tests.TestObjects.TestComponentSimple, Newtonsoft.Json.Tests"", @@ -1690,6 +1697,9 @@ namespace Newtonsoft.Json.Tests.Serialization }; string json = JsonConvert.SerializeObject(c1, Formatting.Indented); + + string dictionaryTypeName = ReflectionUtils.GetTypeName(typeof(Dictionary), TypeNameAssemblyFormatHandling.Simple, null); + StringAssert.AreEqual(@"{ ""Data"": { ""one"": { @@ -1697,7 +1707,7 @@ namespace Newtonsoft.Json.Tests.Serialization ""MyProperty"": 1 }, ""two"": { - ""$type"": ""System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib"", + ""$type"": """ + dictionaryTypeName + @""", ""one"": { ""one"": 1 } @@ -1720,7 +1730,7 @@ namespace Newtonsoft.Json.Tests.Serialization ""MyProperty"": 1 }, ""two"": { - ""$type"": ""System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib"", + ""$type"": """ + dictionaryTypeName + @""", ""one"": { ""$type"": ""Newtonsoft.Json.Tests.TestObjects.TestComponentSimple, Newtonsoft.Json.Tests"", ""MyProperty"": 1 @@ -1765,10 +1775,13 @@ namespace Newtonsoft.Json.Tests.Serialization }; string json = JsonConvert.SerializeObject(o1, Formatting.Indented); + + string listTypeName = ReflectionUtils.GetTypeName(typeof(List), TypeNameAssemblyFormatHandling.Simple, null); + StringAssert.AreEqual(@"{ ""Data"": { ""Prop1"": { - ""$type"": ""System.Collections.Generic.List`1[[System.Object, mscorlib]], mscorlib"", + ""$type"": """ + listTypeName + @""", ""$values"": [ { ""MyProperty"": 1 @@ -1872,7 +1885,7 @@ namespace Newtonsoft.Json.Tests.Serialization } #endif -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 [Test] public void SerializeDeserialize_DictionaryContextContainsGuid_DeserializesItemAsGuid() { @@ -1889,8 +1902,10 @@ namespace Newtonsoft.Json.Tests.Serialization }; string serializedString = JsonConvert.SerializeObject(inputContext, jsonSerializerSettings); + string dictionaryTypeName = ReflectionUtils.GetTypeName(typeof(Dictionary), TypeNameAssemblyFormatHandling.Simple, null); + StringAssert.AreEqual(@"{ - ""$type"": ""System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Guid, mscorlib]], mscorlib"", + ""$type"": """ + dictionaryTypeName + @""", ""k1"": ""a6e986df-fc2c-4906-a1ef-9492388f7833"" }", serializedString); @@ -2078,10 +2093,12 @@ namespace Newtonsoft.Json.Tests.Serialization data.Rows.Add("key", new List { new MyInterfaceImplementationType() { SomeProperty = "property" } }); string serialized = JsonConvert.SerializeObject(data, Formatting.Indented); + string listTypeName = ReflectionUtils.GetTypeName(typeof(List), TypeNameAssemblyFormatHandling.Simple, null); + StringAssert.AreEqual(@"{ ""Rows"": { ""key"": { - ""$type"": ""System.Collections.Generic.List`1[[Newtonsoft.Json.Tests.Serialization.MyInterfaceImplementationType, Newtonsoft.Json.Tests]], mscorlib"", + ""$type"": """ + listTypeName + @""", ""$values"": [ { ""SomeProperty"": ""property"" @@ -2190,7 +2207,7 @@ namespace Newtonsoft.Json.Tests.Serialization { var serializer = JsonSerializer.Create(); #pragma warning disable CS0618 - Assert.NotNull(serializer.Binder); + Assert.AreNotEqual(null, serializer.Binder); Assert.IsInstanceOf(typeof(DefaultSerializationBinder), serializer.Binder); #pragma warning restore CS0618 // Type or member is obsolete Assert.IsInstanceOf(typeof(DefaultSerializationBinder), serializer.SerializationBinder); @@ -2297,7 +2314,7 @@ namespace Newtonsoft.Json.Tests.Serialization public string SomeProperty { get; set; } } -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 public class ParentParent { [JsonProperty(ItemTypeNameHandling = TypeNameHandling.Auto)] @@ -2365,7 +2382,7 @@ namespace Newtonsoft.Json.Tests.Serialization public int Quantity { get; set; } } -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 public class SerializableWrapper { public object Content { get; set; } diff --git a/Src/Newtonsoft.Json.Tests/Serialization/WebApiIntegrationTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/WebApiIntegrationTests.cs index e61672ee..4ab4338f 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) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 IgnoreSerializableAttribute = false #endif } @@ -84,7 +84,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual(expected, json); } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Test] public void SerializeInheritedType() { @@ -114,7 +114,7 @@ namespace Newtonsoft.Json.Tests.Serialization } } -#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [Serializable] #else [JsonObject(MemberSerialization.Fields)] diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/AnswerFilterModel.cs b/Src/Newtonsoft.Json.Tests/TestObjects/AnswerFilterModel.cs index f75eb4c8..501e00db 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) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 [Serializable] public class AnswerFilterModel { diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/AttachmentReadConverter.cs b/Src/Newtonsoft.Json.Tests/TestObjects/AttachmentReadConverter.cs index 1e9e47ad..0f2f2ca7 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/AttachmentReadConverter.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/AttachmentReadConverter.cs @@ -28,7 +28,7 @@ using System.IO; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 public class AttachmentReadConverter : JsonConverter { public override bool CanConvert(Type objectType) diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/ConsoleWriter.cs b/Src/Newtonsoft.Json.Tests/TestObjects/ConsoleWriter.cs index 6807dbbb..d128c0e5 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/ConsoleWriter.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/ConsoleWriter.cs @@ -27,7 +27,7 @@ using System.ComponentModel; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET35 || NET20 || PORTABLE || PORTABLE40) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [TypeConverter(typeof(MyInterfaceConverter))] internal class ConsoleWriter : IMyInterface { diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/ConverableMembers.cs b/Src/Newtonsoft.Json.Tests/TestObjects/ConverableMembers.cs index 2ba240b7..73c194ae 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/ConverableMembers.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/ConverableMembers.cs @@ -41,7 +41,7 @@ namespace Newtonsoft.Json.Tests.TestObjects public ulong ULong = long.MaxValue; public double Double = double.MaxValue; public float Float = float.MaxValue; -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50) || NETSTANDARD2_0 public DBNull DBNull = DBNull.Value; #endif public bool Bool = true; diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/ConvertableIntTestClass.cs b/Src/Newtonsoft.Json.Tests/TestObjects/ConvertableIntTestClass.cs index 0e75046d..9bc040c3 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/ConvertableIntTestClass.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/ConvertableIntTestClass.cs @@ -27,7 +27,7 @@ using System; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(PORTABLE) +#if !(PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 public class ConvertableIntTestClass { public ConvertibleInt Integer { get; set; } diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/ConvertibleInt.cs b/Src/Newtonsoft.Json.Tests/TestObjects/ConvertibleInt.cs index c7c581b0..0762d31b 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/ConvertibleInt.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/ConvertibleInt.cs @@ -27,7 +27,7 @@ using System; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(PORTABLE) +#if !(PORTABLE) || NETSTANDARD1_3 || NETSTANDARD2_0 public struct ConvertibleInt : IConvertible { private readonly int _value; diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/CustomerDataSet.cs b/Src/Newtonsoft.Json.Tests/TestObjects/CustomerDataSet.cs index 0d938b6c..05873faf 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/CustomerDataSet.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/CustomerDataSet.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(PORTABLE40 || PORTABLE || DNXCORE50) +#if !(PORTABLE40 || PORTABLE || DNXCORE50) || NETSTANDARD2_0 using System; using System.Collections.Generic; using System.Text; diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/EncodingReadConverter.cs b/Src/Newtonsoft.Json.Tests/TestObjects/EncodingReadConverter.cs index 33236bb7..98005e34 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/EncodingReadConverter.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/EncodingReadConverter.cs @@ -28,7 +28,7 @@ using System.Text; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 public class EncodingReadConverter : JsonConverter { public override bool CanConvert(Type objectType) diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/GeometricForms/Shape.cs b/Src/Newtonsoft.Json.Tests/TestObjects/GeometricForms/Shape.cs index 671e2e25..9f6a71b2 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/GeometricForms/Shape.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/GeometricForms/Shape.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET40 || NET35 || NET20 || DNXCORE50) +#if !(NET40 || NET35 || NET20 || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 using System; using System.Diagnostics; using System.Runtime.CompilerServices; diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/GeometricForms/Tags.cs b/Src/Newtonsoft.Json.Tests/TestObjects/GeometricForms/Tags.cs index 2e2d690e..8ab1aef9 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/GeometricForms/Tags.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/GeometricForms/Tags.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20 || DNXCORE50) +#if !(NET35 || NET20 || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 namespace Newtonsoft.Json.Tests.TestObjects.GeometricForms { public static class Tags diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/IMyInterface.cs b/Src/Newtonsoft.Json.Tests/TestObjects/IMyInterface.cs index 4d72a87f..aeda3e84 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/IMyInterface.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/IMyInterface.cs @@ -27,7 +27,7 @@ using System.ComponentModel; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET35 || NET20 || PORTABLE || PORTABLE40) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 [TypeConverter(typeof(MyInterfaceConverter))] internal interface IMyInterface { diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/ListOfIds.cs b/Src/Newtonsoft.Json.Tests/TestObjects/ListOfIds.cs index 23ef39cd..d8329902 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/ListOfIds.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/ListOfIds.cs @@ -66,7 +66,7 @@ namespace Newtonsoft.Json.Tests.TestObjects public override bool CanConvert(Type objectType) { -#if DNXCORE50 +#if DNXCORE50 && !NETSTANDARD2_0 return Newtonsoft.Json.Utilities.TypeExtensions.IsAssignableFrom(typeof(IList), objectType); #else return typeof(IList).IsAssignableFrom(objectType); diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/MailAddressReadConverter.cs b/Src/Newtonsoft.Json.Tests/TestObjects/MailAddressReadConverter.cs index e9064d86..65dbf121 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/MailAddressReadConverter.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/MailAddressReadConverter.cs @@ -28,7 +28,7 @@ using Newtonsoft.Json.Linq; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 public class MailAddressReadConverter : JsonConverter { public override bool CanConvert(Type objectType) diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/Money/Currency.cs b/Src/Newtonsoft.Json.Tests/TestObjects/Money/Currency.cs index 99ccbc4f..311efc92 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/Money/Currency.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/Money/Currency.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET40 || NET35 || NET20 || DNXCORE50) +#if !(NET40 || NET35 || NET20 || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 using System; using System.Diagnostics; using System.Runtime.CompilerServices; diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/Money/Tags.cs b/Src/Newtonsoft.Json.Tests/TestObjects/Money/Tags.cs index ea52309d..20533c17 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/Money/Tags.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/Money/Tags.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20 || DNXCORE50) +#if !(NET35 || NET20 || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 namespace Newtonsoft.Json.Tests.TestObjects.Money { diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/MyInterfaceConverter.cs b/Src/Newtonsoft.Json.Tests/TestObjects/MyInterfaceConverter.cs index 7994dd7b..f33a7788 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/MyInterfaceConverter.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/MyInterfaceConverter.cs @@ -35,7 +35,7 @@ using System.Linq; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET35 || NET20 || PORTABLE || PORTABLE40) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 internal class MyInterfaceConverter : TypeConverter { private readonly List _writers = new List diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/NullableStructPropertyClass.cs b/Src/Newtonsoft.Json.Tests/TestObjects/NullableStructPropertyClass.cs index dac14849..cf4e45e6 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/NullableStructPropertyClass.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/NullableStructPropertyClass.cs @@ -27,7 +27,7 @@ using System.Runtime.Serialization; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET20 || DNXCORE50) +#if !(NET20 || DNXCORE50) || NETSTANDARD2_0 [DataContract] public class NullableStructPropertyClass { diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/PersonSerializable.cs b/Src/Newtonsoft.Json.Tests/TestObjects/PersonSerializable.cs index eccef277..9f8985f4 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) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 [Serializable] public class PersonSerializable { diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/PreserveReferencesCallbackTestObject.cs b/Src/Newtonsoft.Json.Tests/TestObjects/PreserveReferencesCallbackTestObject.cs index 2737f511..eb0fda26 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/PreserveReferencesCallbackTestObject.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/PreserveReferencesCallbackTestObject.cs @@ -27,7 +27,7 @@ using System.Runtime.Serialization; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(PORTABLE || PORTABLE40 || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 public class PreserveReferencesCallbackTestObject : ISerializable { internal string _stringValue; diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/Ratio.cs b/Src/Newtonsoft.Json.Tests/TestObjects/Ratio.cs index f34791ae..22599ed7 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/Ratio.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/Ratio.cs @@ -29,7 +29,7 @@ using System.Runtime.Serialization; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 public struct Ratio : IConvertible, IFormattable, ISerializable { private readonly int _numerator; diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/SerializableContractResolver.cs b/Src/Newtonsoft.Json.Tests/TestObjects/SerializableContractResolver.cs index 68debc1a..68bdacc0 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/SerializableContractResolver.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/SerializableContractResolver.cs @@ -27,7 +27,7 @@ using Newtonsoft.Json.Serialization; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(PORTABLE || NET35 || NET20 || PORTABLE40 || DNXCORE50) +#if !(PORTABLE || NET35 || NET20 || PORTABLE40 || DNXCORE50) || NETSTANDARD1_3 || NETSTANDARD2_0 public class SerializableContractResolver : DefaultContractResolver { public SerializableContractResolver() diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/StringDictionaryTestClass.cs b/Src/Newtonsoft.Json.Tests/TestObjects/StringDictionaryTestClass.cs index edea833e..31e803bb 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/StringDictionaryTestClass.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/StringDictionaryTestClass.cs @@ -27,7 +27,7 @@ using System.Collections.Specialized; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET20 || DNXCORE50) +#if !(NET20 || DNXCORE50) || NETSTANDARD2_0 public class StringDictionaryTestClass { public StringDictionary StringDictionaryProperty { get; set; } diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/StructISerializable.cs b/Src/Newtonsoft.Json.Tests/TestObjects/StructISerializable.cs index 2e151357..7d2d2a66 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/StructISerializable.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/StructISerializable.cs @@ -27,7 +27,7 @@ using System.Runtime.Serialization; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET20 || DNXCORE50) +#if !(NET20 || DNXCORE50) || NETSTANDARD2_0 [DataContract] public struct StructISerializable : ISerializable { diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/TraceWriter.cs b/Src/Newtonsoft.Json.Tests/TestObjects/TraceWriter.cs index 17f5014a..bfaf00fc 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/TraceWriter.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/TraceWriter.cs @@ -25,7 +25,7 @@ namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET35 || NET20 || PORTABLE || PORTABLE40) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 internal class TraceWriter : IMyInterface { public string Name diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/TypeConverterJsonConverter.cs b/Src/Newtonsoft.Json.Tests/TestObjects/TypeConverterJsonConverter.cs index 956c480c..9a8d6515 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/TypeConverterJsonConverter.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/TypeConverterJsonConverter.cs @@ -34,7 +34,7 @@ using Newtonsoft.Json.Utilities; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET35 || NET20 || PORTABLE || PORTABLE40) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 || NETSTANDARD2_0 internal class TypeConverterJsonConverter : JsonConverter { private TypeConverter GetConverter(Type type) diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/TypedSubHashtable.cs b/Src/Newtonsoft.Json.Tests/TestObjects/TypedSubHashtable.cs index 0f5b7755..35581a30 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/TypedSubHashtable.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/TypedSubHashtable.cs @@ -27,7 +27,7 @@ using System.Collections; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(DNXCORE50) +#if !(DNXCORE50) || NETSTANDARD2_0 public class TypedSubHashtable { public string Name; diff --git a/Src/Newtonsoft.Json/Newtonsoft.Json.csproj b/Src/Newtonsoft.Json/Newtonsoft.Json.csproj index ac519025..f0b02a8f 100644 --- a/Src/Newtonsoft.Json/Newtonsoft.Json.csproj +++ b/Src/Newtonsoft.Json/Newtonsoft.Json.csproj @@ -1,6 +1,6 @@  - net45;net40;net35;net20;netstandard1.0;netstandard1.3;portable-net45+win8+wpa81+wp8;portable-net40+win8+wpa81+wp8+sl5 + net45;net40;net35;net20;netstandard1.0;netstandard1.3;netstandard2.0;portable-net45+win8+wpa81+wp8;portable-net40+win8+wpa81+wp8+sl5 $(LibraryFrameworks) 10.0.0.0 10.0.1 @@ -24,7 +24,7 @@ Newtonsoft.Json Newtonsoft.Json true - 1.6.1 + 2.0.0 2.12 @@ -65,6 +65,10 @@ Json.NET .NET Standard 1.3 NETSTANDARD1_3;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_INOTIFY_COLLECTION_CHANGED;HAVE_INOTIFY_PROPERTY_CHANGING;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;HAVE_XML_DOCUMENT;HAVE_CONCURRENT_DICTIONARY;HAVE_ICONVERTIBLE;$(AdditionalConstants) + + Json.NET .NET Standard 2.0 + NETSTANDARD2_0;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_ASYNC;HAVE_BIG_INTEGER;HAVE_BINARY_FORMATTER;HAVE_BINARY_SERIALIZATION;HAVE_BINARY_EXCEPTION_SERIALIZATION;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_FAST_REVERSE;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_METHOD_IMPL_ATTRIBUTE;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;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_XML_DOCUMENT_TYPE;HAVE_CONCURRENT_DICTIONARY;$(AdditionalConstants) + Json.NET Portable .NET 4.0 PORTABLE40;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_FAST_REVERSE;HAVE_FSHARP_TYPES;HAVE_FULL_REFLECTION;HAVE_GUID_TRY_PARSE;HAVE_ICONVERTIBLE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_ISET;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_OBSOLETE_FORMATTER_ASSEMBLY_STYLE;HAVE_SECURITY_SAFE_CRITICAL_ATTRIBUTE;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;$(AdditionalConstants) diff --git a/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs b/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs index 4ad63c07..343cff68 100644 --- a/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs +++ b/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs @@ -1354,7 +1354,7 @@ namespace Newtonsoft.Json.Serialization // warning - this method use to cause errors with Intellitrace. Retest in VS Ultimate after changes IValueProvider valueProvider; -#if !(PORTABLE40 || PORTABLE || DOTNET) +#if !(PORTABLE40 || PORTABLE || DOTNET || NETSTANDARD2_0) if (DynamicCodeGeneration) { valueProvider = new DynamicValueProvider(member); diff --git a/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs b/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs index 242fb583..4ed15c01 100644 --- a/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs +++ b/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs @@ -507,7 +507,7 @@ namespace Newtonsoft.Json.Serialization { get { -#if !(PORTABLE40 || PORTABLE || DOTNET) +#if !(PORTABLE40 || PORTABLE || DOTNET || NETSTANDARD2_0) if (DynamicCodeGeneration) { return DynamicReflectionDelegateFactory.Instance; diff --git a/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs b/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs index ce05b509..d10e996b 100644 --- a/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs +++ b/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs @@ -43,7 +43,7 @@ using Newtonsoft.Json.Serialization; namespace Newtonsoft.Json.Utilities { -#if (DOTNET || PORTABLE || PORTABLE40) +#if (DOTNET || PORTABLE || PORTABLE40) && !NETSTANDARD2_0 [Flags] internal enum MemberTypes { @@ -54,7 +54,7 @@ namespace Newtonsoft.Json.Utilities } #endif -#if PORTABLE +#if PORTABLE && !NETSTANDARD2_0 [Flags] internal enum BindingFlags { @@ -738,7 +738,7 @@ namespace Newtonsoft.Json.Utilities return attributes?.FirstOrDefault(); } -#if !(DOTNET || PORTABLE) +#if !(DOTNET || PORTABLE) || NETSTANDARD2_0 public static T[] GetAttributes(object attributeProvider, bool inherit) where T : Attribute { Attribute[] a = GetAttributes(attributeProvider, typeof(T), inherit);