-Added .NET 4.5 version

-Added IReadOnlyCollection<T> and IReadOnlyDictionary<TKey, TValue> support
-Incremented version to 5.0
This commit is contained in:
James Newton-King
2013-03-13 20:44:45 +13:00
parent 7127b1a070
commit b81dfd352a
16 changed files with 1136 additions and 284 deletions
+4 -3
View File
@@ -1,7 +1,7 @@
properties {
$zipFileName = "Json45r11.zip"
$zipFileName = "Json50r1.zip"
$majorVersion = "4.5"
$majorWithReleaseVersion = "4.5.11"
$majorWithReleaseVersion = "5.0.1"
$version = GetVersion $majorWithReleaseVersion
$signAssemblies = $false
$signKeyPath = "D:\Development\Releases\newtonsoft.snk"
@@ -17,11 +17,12 @@
$releaseDir = "$baseDir\Release"
$workingDir = "$baseDir\Working"
$builds = @(
@{Name = "Newtonsoft.Json"; TestsName = "Newtonsoft.Json.Tests"; Constants=""; FinalDir="Net40"; NuGetDir = "net40"; Framework="net-4.0"; Sign=$true},
@{Name = "Newtonsoft.Json"; TestsName = "Newtonsoft.Json.Tests"; Constants=""; FinalDir="Net45"; NuGetDir = "net45"; Framework="net-4.0"; Sign=$true},
@{Name = "Newtonsoft.Json.Portable"; TestsName = "Newtonsoft.Json.Tests.Portable"; Constants="PORTABLE"; FinalDir="Portable"; NuGetDir = "portable-net40+sl4+wp7+win8"; Framework="net-4.0"; Sign=$true},
@{Name = "Newtonsoft.Json.WinRT"; TestsName = $null; Constants="NETFX_CORE"; FinalDir="WinRT"; NuGetDir = "winrt45"; Framework="net-4.5"; Sign=$true},
@{Name = "Newtonsoft.Json.WindowsPhone"; TestsName = $null; Constants="SILVERLIGHT;WINDOWS_PHONE"; FinalDir="WindowsPhone"; NuGetDir = "sl3-wp,sl4-windowsphone71"; Framework="net-4.0"; Sign=$true},
@{Name = "Newtonsoft.Json.Silverlight"; TestsName = "Newtonsoft.Json.Tests.Silverlight"; Constants="SILVERLIGHT"; FinalDir="Silverlight"; NuGetDir = "sl4"; Framework="net-4.0"; Sign=$true},
@{Name = "Newtonsoft.Json.Net40"; TestsName = "Newtonsoft.Json.Tests.Net40"; Constants="NET40"; FinalDir="Net40"; NuGetDir = "net40"; Framework="net-4.0"; Sign=$true},
@{Name = "Newtonsoft.Json.Net35"; TestsName = "Newtonsoft.Json.Tests.Net35"; Constants="NET35"; FinalDir="Net35"; NuGetDir = "net35"; Framework="net-2.0"; Sign=$true},
@{Name = "Newtonsoft.Json.Net20"; TestsName = "Newtonsoft.Json.Tests.Net20"; Constants="NET20"; FinalDir="Net20"; NuGetDir = "net20"; Framework="net-2.0"; Sign=$true}
)
+32
View File
@@ -0,0 +1,32 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Lib", "Lib", "{620042D9-2753-48F5-BEDE-3905248781D2}"
ProjectSection(SolutionItems) = preProject
Lib\NUnit\DotNet\nunit.framework.dll = Lib\NUnit\DotNet\nunit.framework.dll
Lib\NUnit\DotNet\nunit.framework.xml = Lib\NUnit\DotNet\nunit.framework.xml
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newtonsoft.Json.Net40", "Newtonsoft.Json\Newtonsoft.Json.Net40.csproj", "{A9AE40FF-1A21-414A-9FE7-3BE13644CC6D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newtonsoft.Json.Tests.Net40", "Newtonsoft.Json.Tests\Newtonsoft.Json.Tests.Net40.csproj", "{3E6E2335-B079-4B5B-A65A-9D586914BCBB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A9AE40FF-1A21-414A-9FE7-3BE13644CC6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A9AE40FF-1A21-414A-9FE7-3BE13644CC6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A9AE40FF-1A21-414A-9FE7-3BE13644CC6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A9AE40FF-1A21-414A-9FE7-3BE13644CC6D}.Release|Any CPU.Build.0 = Release|Any CPU
{3E6E2335-B079-4B5B-A65A-9D586914BCBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3E6E2335-B079-4B5B-A65A-9D586914BCBB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E6E2335-B079-4B5B-A65A-9D586914BCBB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E6E2335-B079-4B5B-A65A-9D586914BCBB}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
@@ -23,6 +23,7 @@
// OTHER DEALINGS IN THE SOFTWARE.
#endregion
#if NETFX_CORE
using System;
using Newtonsoft.Json.Converters;
#if !NETFX_CORE
@@ -455,4 +456,5 @@ namespace Newtonsoft.Json.Tests.Converters
JsonArray jsonArray = a.ToObject<JsonArray>();
}
}
}
}
#endif
@@ -0,0 +1,526 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{3E6E2335-B079-4B5B-A65A-9D586914BCBB}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Newtonsoft.Json.Tests</RootNamespace>
<AssemblyName>Newtonsoft.Json.Tests</AssemblyName>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<SignAssembly>false</SignAssembly>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\Net40\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\Net40\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="nunit.framework, Version=2.4.3.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Lib\NUnit\DotNet\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Data.Entity">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Runtime.Serialization">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Security" />
<Reference Include="System.ServiceModel">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.ServiceModel.Web">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Bson\BsonWriterTests.cs" />
<Compile Include="Bson\BsonReaderTests.cs" />
<Compile Include="Converters\BinaryConverterTests.cs" />
<Compile Include="Converters\ExpandoObjectConverterTests.cs" />
<Compile Include="Converters\RegexConverterTests.cs" />
<Compile Include="Converters\DataTableConverterTests.cs" />
<Compile Include="Converters\DataSetConverterTests.cs" />
<Compile Include="Converters\CustomCreationConverterTests.cs" />
<Compile Include="Converters\ObjectIdConverterTests.cs" />
<Compile Include="Converters\StringEnumConverterTests.cs" />
<Compile Include="Converters\VersionConverterTests.cs" />
<Compile Include="Documentation\ConvertingJsonAndXmlTests.cs" />
<Compile Include="Documentation\ConditionalPropertiesTests.cs" />
<Compile Include="Documentation\Samples\Bson\DeserializeFromBson.cs" />
<Compile Include="Documentation\Samples\Bson\DeserializeFromBsonCollection.cs" />
<Compile Include="Documentation\Samples\Bson\SerializeToBson.cs" />
<Compile Include="Documentation\Samples\Json\ReadJsonWithJsonTextReader.cs" />
<Compile Include="Documentation\Samples\Json\WriteJsonWithJsonTextWriter.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJsonLinq.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJson.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJsonSelectTokenWithLinq.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJsonSelectToken.cs" />
<Compile Include="Documentation\Samples\Schema\JTokenValidateWithEvent.cs" />
<Compile Include="Documentation\Samples\Schema\JTokenIsValidWithMessages.cs" />
<Compile Include="Documentation\Samples\Schema\CreateJsonSchemaManually.cs" />
<Compile Include="Documentation\Samples\Schema\JsonValidatingReaderAndSerializer.cs" />
<Compile Include="Documentation\Samples\Schema\JTokenIsValid.cs" />
<Compile Include="Documentation\Samples\Schema\RefJsonSchemaResolver.cs" />
<Compile Include="Documentation\Samples\Schema\SaveJsonSchemaToFile.cs" />
<Compile Include="Documentation\Samples\Schema\JsonSchemaParse.cs" />
<Compile Include="Documentation\Samples\Linq\Clone.cs" />
<Compile Include="Documentation\Samples\Linq\ReadJTokenFromBson.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonDynamic.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJsonDynamic.cs" />
<Compile Include="Documentation\Samples\Linq\SerializeWithLinq.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonCollectionInitializer.cs" />
<Compile Include="Documentation\Samples\Linq\CreateReader.cs" />
<Compile Include="Documentation\Samples\Linq\CreateWriter.cs" />
<Compile Include="Documentation\Samples\Linq\DeepEquals.cs" />
<Compile Include="Documentation\Samples\Linq\DeserializeWithLinq.cs" />
<Compile Include="Documentation\Samples\Linq\FromObject.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonJTokenWriter.cs" />
<Compile Include="Documentation\Samples\Linq\JObjectProperties.cs" />
<Compile Include="Documentation\Samples\Linq\JValueValue.cs" />
<Compile Include="Documentation\Samples\Linq\ModifyJson.cs" />
<Compile Include="Documentation\Samples\Linq\ToObjectComplex.cs" />
<Compile Include="Documentation\Samples\Linq\ToObjectGeneric.cs" />
<Compile Include="Documentation\Samples\Linq\JValueCast.cs" />
<Compile Include="Documentation\Samples\Linq\ParseJsonAny.cs" />
<Compile Include="Documentation\Samples\Linq\ParseJsonArray.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonAnonymousObject.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonDeclaratively.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonManually.cs" />
<Compile Include="Documentation\Samples\Linq\ParseJsonObject.cs" />
<Compile Include="Documentation\Samples\Linq\ToObjectType.cs" />
<Compile Include="Documentation\Samples\Linq\ToString.cs" />
<Compile Include="Documentation\Samples\Linq\ToStringJsonConverter.cs" />
<Compile Include="Documentation\Samples\Linq\WriteJTokenToBson.cs" />
<Compile Include="Documentation\Samples\Linq\WriteToJsonFile.cs" />
<Compile Include="Documentation\Samples\Linq\ReadJson.cs" />
<Compile Include="Documentation\Samples\Schema\LoadJsonSchemaFromFile.cs" />
<Compile Include="Documentation\Samples\Serializer\CustomContractResolver.cs" />
<Compile Include="Documentation\Samples\Serializer\CustomJsonConverter.cs" />
<Compile Include="Documentation\Samples\Serializer\CustomTraceWriter.cs" />
<Compile Include="Documentation\Samples\Serializer\DataContractAndDataMember.cs" />
<Compile Include="Documentation\Samples\Serializer\DefaultValueAttributeIgnore.cs" />
<Compile Include="Documentation\Samples\Serializer\DefaultValueHandlingIgnore.cs" />
<Compile Include="Documentation\Samples\Serializer\DeserializeAnonymousType.cs" />
<Compile Include="Documentation\Samples\Serializer\DeserializeCollection.cs" />
<Compile Include="Documentation\Samples\Serializer\DeserializeConstructorHandling.cs" />
<Compile Include="Documentation\Samples\Serializer\DeserializeCustomCreationConverter.cs" />
<Compile Include="Documentation\Samples\Serializer\DeserializeDataSet.cs" />
<Compile Include="Documentation\Samples\Serializer\DeserializeDictionary.cs" />
<Compile Include="Documentation\Samples\Serializer\DeserializeMissingMemberHandling.cs" />
<Compile Include="Documentation\Samples\Serializer\DeserializeObject.cs" />
<Compile Include="Documentation\Samples\Serializer\DeserializeObjectCreationHandling.cs" />
<Compile Include="Documentation\Samples\Serializer\DeserializeWithJsonSerializerFromFile.cs" />
<Compile Include="Documentation\Samples\Serializer\ErrorHandlingAttribute.cs" />
<Compile Include="Documentation\Samples\Serializer\ErrorHandlingEvent.cs" />
<Compile Include="Documentation\Samples\Serializer\JsonConverterAttributeClass.cs" />
<Compile Include="Documentation\Samples\Serializer\JsonConverterAttributeProperty.cs" />
<Compile Include="Documentation\Samples\Serializer\JsonObjectAttributeOptIn.cs" />
<Compile Include="Documentation\Samples\Serializer\JsonObjectAttributeOverrideIEnumerable.cs" />
<Compile Include="Documentation\Samples\Serializer\JsonPropertyItemLevelSetting.cs" />
<Compile Include="Documentation\Samples\Serializer\JsonPropertyName.cs" />
<Compile Include="Documentation\Samples\Serializer\JsonPropertyOrder.cs" />
<Compile Include="Documentation\Samples\Serializer\JsonPropertyPropertyLevelSetting.cs" />
<Compile Include="Documentation\Samples\Serializer\JsonPropertyRequired.cs" />
<Compile Include="Documentation\Samples\Serializer\MaxDepth.cs" />
<Compile Include="Documentation\Samples\Serializer\NullValueHandlingIgnore.cs" />
<Compile Include="Documentation\Samples\Serializer\PopulateObject.cs" />
<Compile Include="Documentation\Samples\Serializer\PropertyJsonIgnore.cs" />
<Compile Include="Documentation\Samples\Serializer\ReferenceLoopHandlingIgnore.cs" />
<Compile Include="Documentation\Samples\Serializer\PreserveReferencesHandlingObject.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializationCallbackAttributes.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeCollection.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeConditionalProperty.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeContractResolver.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeDataSet.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeDateFormatHandling.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeDateTimeZoneHandling.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeDictionary.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeObject.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeRawJson.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeSerializationBinder.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeTypeNameHandling.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeUnindentedJson.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeWithJsonConverters.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeWithJsonSerializerToFile.cs" />
<Compile Include="Documentation\Samples\Serializer\TraceWriter.cs" />
<Compile Include="Documentation\Samples\Xml\ConvertJsonToXml.cs" />
<Compile Include="Documentation\Samples\Xml\ConvertXmlToJson.cs" />
<Compile Include="Documentation\Samples\Xml\ConvertXmlToJsonForceArray.cs" />
<Compile Include="Documentation\TraceWriterTests.cs" />
<Compile Include="Documentation\JsonNetVsWindowsDataJsonTests.cs" />
<Compile Include="Documentation\PerformanceTests.cs" />
<Compile Include="Documentation\JsonSchemaTests.cs" />
<Compile Include="Documentation\ReadingAndWritingJsonTests.cs" />
<Compile Include="Documentation\LinqToJsonTests.cs" />
<Compile Include="Documentation\SerializationTests.cs" />
<Compile Include="FileSystemEntityModel.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>FileSystemEntityModel.edmx</DependentUpon>
</Compile>
<Compile Include="JsonArrayAttributeTests.cs" />
<Compile Include="ExceptionTests.cs" />
<Compile Include="JsonValidatingReaderTests.cs" />
<Compile Include="LinqToSql\Department.cs" />
<Compile Include="LinqToSql\DepartmentConverter.cs" />
<Compile Include="LinqToSql\GuidByteArrayConverter.cs" />
<Compile Include="LinqToSql\Role.cs" />
<Compile Include="LinqToSql\LinqToSqlClasses.designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>LinqToSqlClasses.dbml</DependentUpon>
</Compile>
<Compile Include="LinqToSql\LinqToSqlClassesSerializationTests.cs" />
<Compile Include="LinqToSql\Person.cs" />
<Compile Include="Linq\ComponentModel\BindingTests.cs" />
<Compile Include="Linq\ComponentModel\JPropertyDescriptorTests.cs" />
<Compile Include="Linq\DynamicTests.cs" />
<Compile Include="Linq\JPathTests.cs" />
<Compile Include="Linq\JRawTests.cs" />
<Compile Include="Schema\JsonSchemaSpecTests.cs" />
<Compile Include="Serialization\ConstructorHandlingTests.cs" />
<Compile Include="Serialization\ContractResolverTests.cs" />
<Compile Include="Serialization\DefaultValueHandlingTests.cs" />
<Compile Include="Serialization\DynamicTests.cs" />
<Compile Include="Serialization\ReferenceLoopHandlingTests.cs" />
<Compile Include="Serialization\TraceWriterTests.cs" />
<Compile Include="Serialization\WebApiIntegrationTests.cs" />
<Compile Include="Serialization\JsonPropertyCollectionTests.cs" />
<Compile Include="Serialization\NullValueHandlingTests.cs" />
<Compile Include="TestObjects\Bar.cs" />
<Compile Include="TestObjects\Car.cs" />
<Compile Include="TestObjects\Computer.cs" />
<Compile Include="TestObjects\ConstructorReadonlyFields.cs" />
<Compile Include="TestObjects\Container.cs" />
<Compile Include="TestObjects\ContentBaseClass.cs" />
<Compile Include="TestObjects\ContentSubClass.cs" />
<Compile Include="TestObjects\Foo.cs" />
<Compile Include="TestObjects\HolderClass.cs" />
<Compile Include="TestObjects\IPrivateImplementationA.cs" />
<Compile Include="TestObjects\IPrivateImplementationB.cs" />
<Compile Include="TestObjects\IPrivateOverriddenImplementation.cs" />
<Compile Include="TestObjects\ListOfIds.cs" />
<Compile Include="TestObjects\Movie.cs" />
<Compile Include="TestObjects\PersonError.cs" />
<Compile Include="TestObjects\PersonPropertyClass.cs" />
<Compile Include="TestObjects\PrivateConstructorTestClass.cs" />
<Compile Include="TestObjects\PrivateConstructorWithPublicParametizedConstructorTestClass.cs" />
<Compile Include="TestObjects\Content.cs" />
<Compile Include="TestObjects\DateTimeErrorObjectCollection.cs" />
<Compile Include="Serialization\EntitiesSerializationTests.cs" />
<Compile Include="TestObjects\DictionaryInterfaceClass.cs" />
<Compile Include="TestObjects\Event.cs" />
<Compile Include="TestObjects\GoogleMapGeocoderStructure.cs" />
<Compile Include="TestObjects\InterfacePropertyTestClass.cs" />
<Compile Include="TestObjects\JsonPropertyClass.cs" />
<Compile Include="TestObjects\ListErrorObject.cs" />
<Compile Include="TestObjects\ListErrorObjectCollection.cs" />
<Compile Include="Serialization\MissingMemberHandlingTests.cs" />
<Compile Include="Serialization\PopulateTests.cs" />
<Compile Include="Serialization\SerializationErrorHandlingTests.cs" />
<Compile Include="Serialization\SerializationEventAttributeTests.cs" />
<Compile Include="Schema\ExtensionsTests.cs" />
<Compile Include="Schema\JsonSchemaModelBuilderTests.cs" />
<Compile Include="Schema\JsonSchemaNodeTests.cs" />
<Compile Include="Serialization\CamelCasePropertyNamesContractResolverTests.cs" />
<Compile Include="Serialization\PreserveReferencesHandlingTests.cs" />
<Compile Include="Serialization\TypeNameHandlingTests.cs" />
<Compile Include="TestObjects\ListTestClass.cs" />
<Compile Include="TestObjects\LogEntry.cs" />
<Compile Include="TestObjects\NonRequest.cs" />
<Compile Include="TestObjects\ObjectArrayPropertyTest.cs" />
<Compile Include="TestObjects\PrivateImplementationAClass.cs" />
<Compile Include="TestObjects\PrivateImplementationBClass.cs" />
<Compile Include="TestObjects\PublicParametizedConstructorRequiringConverterTestClass.cs" />
<Compile Include="TestObjects\PublicParametizedConstructorTestClass.cs" />
<Compile Include="TestObjects\PublicParametizedConstructorWithNonPropertyParameterTestClass.cs" />
<Compile Include="TestObjects\PublicParametizedConstructorWithPropertyNameConflict.cs" />
<Compile Include="TestObjects\SearchResult.cs" />
<Compile Include="TestObjects\StructTest.cs" />
<Compile Include="TestObjects\WagePerson.cs" />
<Compile Include="TestObjects\PropertyCase.cs" />
<Compile Include="TestObjects\RequestOnly.cs" />
<Compile Include="TestObjects\RoleTransfer.cs" />
<Compile Include="TestObjects\SetOnlyPropertyClass2.cs" />
<Compile Include="TestObjects\SubKlass.cs" />
<Compile Include="TestObjects\SuperKlass.cs" />
<Compile Include="TestObjects\VersionKeyedCollection.cs" />
<Compile Include="TestObjects\AbstractGenericBase.cs" />
<Compile Include="TestObjects\ArgumentConverterPrecedenceClassConverter.cs" />
<Compile Include="TestObjects\BadJsonPropertyClass.cs" />
<Compile Include="TestObjects\CircularReferenceClass.cs" />
<Compile Include="TestObjects\ClassAndMemberConverterClass.cs" />
<Compile Include="TestObjects\ClassConverterPrecedenceClassConverter.cs" />
<Compile Include="TestObjects\ConstructorCaseSensitivityClass.cs" />
<Compile Include="TestObjects\ConverterPrecedenceClass.cs" />
<Compile Include="TestObjects\ConverterPrecedenceClassConverter.cs" />
<Compile Include="TestObjects\CircularReferenceWithIdClass.cs" />
<Compile Include="TestObjects\EmployeeReference.cs" />
<Compile Include="TestObjects\JsonPropertyWithHandlingValues.cs" />
<Compile Include="TestObjects\DefaultValueAttributeTestClass.cs" />
<Compile Include="TestObjects\DoubleClass.cs" />
<Compile Include="TestObjects\GenericImpl.cs" />
<Compile Include="TestObjects\GenericListAndDictionaryInterfaceProperties.cs" />
<Compile Include="TestObjects\GetOnlyPropertyClass.cs" />
<Compile Include="TestObjects\IncompatibleJsonAttributeClass.cs" />
<Compile Include="TestObjects\Invoice.cs" />
<Compile Include="TestObjects\JsonIgnoreAttributeTestClass.cs" />
<Compile Include="TestObjects\MemberConverterPrecedenceClassConverter.cs" />
<Compile Include="TestObjects\MethodExecutorObject.cs" />
<Compile Include="TestObjects\JaggedArray.cs" />
<Compile Include="TestObjects\MyClass.cs" />
<Compile Include="TestObjects\Name.cs" />
<Compile Include="TestObjects\PersonRaw.cs" />
<Compile Include="TestObjects\PhoneNumber.cs" />
<Compile Include="TestObjects\PrivateMembersClass.cs" />
<Compile Include="TestObjects\RequiredMembersClass.cs" />
<Compile Include="TestObjects\SerializationEventTestDictionary.cs" />
<Compile Include="TestObjects\SerializationEventTestList.cs" />
<Compile Include="TestObjects\SerializationEventTestObject.cs" />
<Compile Include="TestObjects\SerializationEventTestObjectWithConstructor.cs" />
<Compile Include="TestObjects\SetOnlyPropertyClass.cs" />
<Compile Include="TestObjects\Article.cs" />
<Compile Include="TestObjects\ArticleCollection.cs" />
<Compile Include="TestObjects\ClassWithArray.cs" />
<Compile Include="TestObjects\ClassWithGuid.cs" />
<Compile Include="TestObjects\ConverableMembers.cs" />
<Compile Include="TestObjects\JsonIgnoreAttributeOnClassTestClass.cs" />
<Compile Include="Linq\JConstructorTests.cs" />
<Compile Include="Linq\JPropertyTests.cs" />
<Compile Include="TestObjects\MemberConverterClass.cs" />
<Compile Include="TestObjects\Product.cs" />
<Compile Include="TestObjects\ProductCollection.cs" />
<Compile Include="TestObjects\ProductShort.cs" />
<Compile Include="TestObjects\Shortie.cs" />
<Compile Include="TestObjects\Store.cs" />
<Compile Include="TestObjects\StoreColor.cs" />
<Compile Include="TestObjects\Person.cs" />
<Compile Include="Schema\JsonSchemaBuilderTests.cs" />
<Compile Include="Schema\JsonSchemaGeneratorTests.cs" />
<Compile Include="Schema\JsonSchemaTests.cs" />
<Compile Include="TestObjects\NullableDateTimeTestClass.cs" />
<Compile Include="TestObjects\DateTimeTestClass.cs" />
<Compile Include="Converters\IsoDateTimeConverterTests.cs" />
<Compile Include="JsonConvertTest.cs" />
<Compile Include="Converters\JavaScriptDateTimeConverterTests.cs" />
<Compile Include="Serialization\JsonSerializerTest.cs" />
<Compile Include="JsonTextReaderTest.cs" />
<Compile Include="JsonTextWriterTest.cs" />
<Compile Include="Linq\JTokenReaderTest.cs" />
<Compile Include="Linq\JTokenWriterTest.cs" />
<Compile Include="Linq\JArrayTests.cs" />
<Compile Include="Linq\JObjectTests.cs" />
<Compile Include="Linq\JTokenEqualityComparerTests.cs" />
<Compile Include="Linq\JTokenTests.cs" />
<Compile Include="Linq\JValueTests.cs" />
<Compile Include="Linq\LinqToJsonTest.cs" />
<Compile Include="PerformanceTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SilverlightTests.cs" />
<Compile Include="TestFixtureBase.cs" />
<Compile Include="Converters\XmlNodeConverterTest.cs" />
<Compile Include="TestObjects\TypeClass.cs" />
<Compile Include="TestObjects\TypedSubHashtable.cs" />
<Compile Include="TestObjects\UserNullable.cs" />
<Compile Include="Utilities\DynamicReflectionDelegateFactoryTests.cs" />
<Compile Include="Utilities\ReflectionUtilsTests.cs" />
<Compile Include="Utilities\StringUtilsTests.cs" />
</ItemGroup>
<ItemGroup>
<None Include="LinqToSql\LinqToSqlClasses.dbml">
<Generator>MSLinqToSQLGenerator</Generator>
<LastGenOutput>LinqToSqlClasses.designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</None>
<None Include="Schema\Specs\additionalItems.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\additionalProperties.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\dependencies.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\disallow.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\divisibleBy.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\enum.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\extends.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\items.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\maximum.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\maxItems.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\maxLength.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\minimum.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\minItems.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\minLength.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\pattern.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\patternProperties.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\properties.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\ref.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\required.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\type.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Schema\Specs\uniqueItems.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Service Include="{3259AA49-8AA1-44D3-9025-A0B520596A8C}" />
</ItemGroup>
<ItemGroup>
<EntityDeploy Include="FileSystemEntityModel.edmx">
<Generator>EntityModelCodeGenerator</Generator>
<LastGenOutput>FileSystemEntityModel.Designer.cs</LastGenOutput>
</EntityDeploy>
<None Include="LinqToSql\LinqToSqlClasses.dbml.layout">
<DependentUpon>LinqToSqlClasses.dbml</DependentUpon>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="bunny_pancake.jpg">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="PoisonText.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Folder Include="Schema\Specs\optional\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Newtonsoft.Json\Newtonsoft.Json.Net40.csproj">
<Project>{a9ae40ff-1a21-414a-9fe7-3be13644cc6d}</Project>
<Name>Newtonsoft.Json.Net40</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
@@ -1,172 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{3E6E2335-B079-4B5B-A65A-9D586914BCBB}</ProjectGuid>
<ProjectGuid>{CCD1B8C4-7349-409C-A090-A9B9A1ABD981}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Newtonsoft.Json.Tests</RootNamespace>
<AssemblyName>Newtonsoft.Json.Tests</AssemblyName>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<SignAssembly>false</SignAssembly>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\Net40\</OutputPath>
<OutputPath>bin\Debug\Net45\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\Net40\</OutputPath>
<OutputPath>bin\Release\Net45\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="nunit.framework, Version=2.4.3.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<Reference Include="nunit.framework">
<HintPath>..\Lib\NUnit\DotNet\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Data.Entity">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.Data.Entity" />
<Reference Include="System.Data.Linq" />
<Reference Include="System.Drawing" />
<Reference Include="System.Runtime.Serialization">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Security" />
<Reference Include="System.ServiceModel">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.ServiceModel.Web">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Bson\BsonWriterTests.cs" />
<Compile Include="Bson\BsonReaderTests.cs" />
<Compile Include="Bson\BsonWriterTests.cs" />
<Compile Include="Converters\BinaryConverterTests.cs" />
<Compile Include="Converters\ExpandoObjectConverterTests.cs" />
<Compile Include="Converters\RegexConverterTests.cs" />
<Compile Include="Converters\DataTableConverterTests.cs" />
<Compile Include="Converters\DataSetConverterTests.cs" />
<Compile Include="Converters\CustomCreationConverterTests.cs" />
<Compile Include="Converters\DataSetConverterTests.cs" />
<Compile Include="Converters\DataTableConverterTests.cs" />
<Compile Include="Converters\ExpandoObjectConverterTests.cs" />
<Compile Include="Converters\IsoDateTimeConverterTests.cs" />
<Compile Include="Converters\JavaScriptDateTimeConverterTests.cs" />
<Compile Include="Converters\JsonValueConverterTests.cs" />
<Compile Include="Converters\ObjectIdConverterTests.cs" />
<Compile Include="Converters\RegexConverterTests.cs" />
<Compile Include="Converters\StringEnumConverterTests.cs" />
<Compile Include="Converters\VersionConverterTests.cs" />
<Compile Include="Documentation\ConvertingJsonAndXmlTests.cs" />
<Compile Include="Converters\XmlNodeConverterTest.cs" />
<Compile Include="Documentation\ConditionalPropertiesTests.cs" />
<Compile Include="Documentation\ConvertingJsonAndXmlTests.cs" />
<Compile Include="Documentation\JsonNetVsWindowsDataJsonTests.cs" />
<Compile Include="Documentation\JsonSchemaTests.cs" />
<Compile Include="Documentation\LinqToJsonTests.cs" />
<Compile Include="Documentation\PerformanceTests.cs" />
<Compile Include="Documentation\ReadingAndWritingJsonTests.cs" />
<Compile Include="Documentation\Samples\Bson\DeserializeFromBson.cs" />
<Compile Include="Documentation\Samples\Bson\DeserializeFromBsonCollection.cs" />
<Compile Include="Documentation\Samples\Bson\SerializeToBson.cs" />
<Compile Include="Documentation\Samples\Json\ReadJsonWithJsonTextReader.cs" />
<Compile Include="Documentation\Samples\Json\WriteJsonWithJsonTextWriter.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJsonLinq.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJson.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJsonSelectTokenWithLinq.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJsonSelectToken.cs" />
<Compile Include="Documentation\Samples\Schema\JTokenValidateWithEvent.cs" />
<Compile Include="Documentation\Samples\Schema\JTokenIsValidWithMessages.cs" />
<Compile Include="Documentation\Samples\Schema\CreateJsonSchemaManually.cs" />
<Compile Include="Documentation\Samples\Schema\JsonValidatingReaderAndSerializer.cs" />
<Compile Include="Documentation\Samples\Schema\JTokenIsValid.cs" />
<Compile Include="Documentation\Samples\Schema\RefJsonSchemaResolver.cs" />
<Compile Include="Documentation\Samples\Schema\SaveJsonSchemaToFile.cs" />
<Compile Include="Documentation\Samples\Schema\JsonSchemaParse.cs" />
<Compile Include="Documentation\Samples\Linq\Clone.cs" />
<Compile Include="Documentation\Samples\Linq\ReadJTokenFromBson.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonDynamic.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJsonDynamic.cs" />
<Compile Include="Documentation\Samples\Linq\SerializeWithLinq.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonAnonymousObject.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonCollectionInitializer.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonDeclaratively.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonDynamic.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonJTokenWriter.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonManually.cs" />
<Compile Include="Documentation\Samples\Linq\CreateReader.cs" />
<Compile Include="Documentation\Samples\Linq\CreateWriter.cs" />
<Compile Include="Documentation\Samples\Linq\DeepEquals.cs" />
<Compile Include="Documentation\Samples\Linq\DeserializeWithLinq.cs" />
<Compile Include="Documentation\Samples\Linq\FromObject.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonJTokenWriter.cs" />
<Compile Include="Documentation\Samples\Linq\JObjectProperties.cs" />
<Compile Include="Documentation\Samples\Linq\JValueCast.cs" />
<Compile Include="Documentation\Samples\Linq\JValueValue.cs" />
<Compile Include="Documentation\Samples\Linq\ModifyJson.cs" />
<Compile Include="Documentation\Samples\Linq\ToObjectComplex.cs" />
<Compile Include="Documentation\Samples\Linq\ToObjectGeneric.cs" />
<Compile Include="Documentation\Samples\Linq\JValueCast.cs" />
<Compile Include="Documentation\Samples\Linq\ParseJsonAny.cs" />
<Compile Include="Documentation\Samples\Linq\ParseJsonArray.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonAnonymousObject.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonDeclaratively.cs" />
<Compile Include="Documentation\Samples\Linq\CreateJsonManually.cs" />
<Compile Include="Documentation\Samples\Linq\ParseJsonObject.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJson.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJsonDynamic.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJsonLinq.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJsonSelectToken.cs" />
<Compile Include="Documentation\Samples\Linq\QueryJsonSelectTokenWithLinq.cs" />
<Compile Include="Documentation\Samples\Linq\ReadJson.cs" />
<Compile Include="Documentation\Samples\Linq\ReadJTokenFromBson.cs" />
<Compile Include="Documentation\Samples\Linq\SerializeWithLinq.cs" />
<Compile Include="Documentation\Samples\Linq\ToObjectComplex.cs" />
<Compile Include="Documentation\Samples\Linq\ToObjectGeneric.cs" />
<Compile Include="Documentation\Samples\Linq\ToObjectType.cs" />
<Compile Include="Documentation\Samples\Linq\ToString.cs" />
<Compile Include="Documentation\Samples\Linq\ToStringJsonConverter.cs" />
<Compile Include="Documentation\Samples\Linq\WriteJTokenToBson.cs" />
<Compile Include="Documentation\Samples\Linq\WriteToJsonFile.cs" />
<Compile Include="Documentation\Samples\Linq\ReadJson.cs" />
<Compile Include="Documentation\Samples\Schema\CreateJsonSchemaManually.cs" />
<Compile Include="Documentation\Samples\Schema\JsonSchemaParse.cs" />
<Compile Include="Documentation\Samples\Schema\JsonValidatingReaderAndSerializer.cs" />
<Compile Include="Documentation\Samples\Schema\JTokenIsValid.cs" />
<Compile Include="Documentation\Samples\Schema\JTokenIsValidWithMessages.cs" />
<Compile Include="Documentation\Samples\Schema\JTokenValidateWithEvent.cs" />
<Compile Include="Documentation\Samples\Schema\LoadJsonSchemaFromFile.cs" />
<Compile Include="Documentation\Samples\Schema\RefJsonSchemaResolver.cs" />
<Compile Include="Documentation\Samples\Schema\SaveJsonSchemaToFile.cs" />
<Compile Include="Documentation\Samples\Serializer\CustomContractResolver.cs" />
<Compile Include="Documentation\Samples\Serializer\CustomJsonConverter.cs" />
<Compile Include="Documentation\Samples\Serializer\CustomTraceWriter.cs" />
@@ -197,9 +149,9 @@
<Compile Include="Documentation\Samples\Serializer\MaxDepth.cs" />
<Compile Include="Documentation\Samples\Serializer\NullValueHandlingIgnore.cs" />
<Compile Include="Documentation\Samples\Serializer\PopulateObject.cs" />
<Compile Include="Documentation\Samples\Serializer\PreserveReferencesHandlingObject.cs" />
<Compile Include="Documentation\Samples\Serializer\PropertyJsonIgnore.cs" />
<Compile Include="Documentation\Samples\Serializer\ReferenceLoopHandlingIgnore.cs" />
<Compile Include="Documentation\Samples\Serializer\PreserveReferencesHandlingObject.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializationCallbackAttributes.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeCollection.cs" />
<Compile Include="Documentation\Samples\Serializer\SerializeConditionalProperty.cs" />
@@ -219,25 +171,22 @@
<Compile Include="Documentation\Samples\Xml\ConvertJsonToXml.cs" />
<Compile Include="Documentation\Samples\Xml\ConvertXmlToJson.cs" />
<Compile Include="Documentation\Samples\Xml\ConvertXmlToJsonForceArray.cs" />
<Compile Include="Documentation\TraceWriterTests.cs" />
<Compile Include="Documentation\JsonNetVsWindowsDataJsonTests.cs" />
<Compile Include="Documentation\PerformanceTests.cs" />
<Compile Include="Documentation\JsonSchemaTests.cs" />
<Compile Include="Documentation\ReadingAndWritingJsonTests.cs" />
<Compile Include="Documentation\LinqToJsonTests.cs" />
<Compile Include="Documentation\SerializationTests.cs" />
<Compile Include="Documentation\TraceWriterTests.cs" />
<Compile Include="FileSystemEntityModel.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>FileSystemEntityModel.edmx</DependentUpon>
</Compile>
<Compile Include="JsonArrayAttributeTests.cs" />
<Compile Include="ExceptionTests.cs" />
<Compile Include="JsonArrayAttributeTests.cs" />
<Compile Include="JsonConvertTest.cs" />
<Compile Include="JsonTextReaderTest.cs" />
<Compile Include="JsonTextWriterTest.cs" />
<Compile Include="JsonValidatingReaderTests.cs" />
<Compile Include="LinqToSql\Department.cs" />
<Compile Include="LinqToSql\DepartmentConverter.cs" />
<Compile Include="LinqToSql\GuidByteArrayConverter.cs" />
<Compile Include="LinqToSql\Role.cs" />
<Compile Include="LinqToSql\LinqToSqlClasses.designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@@ -245,166 +194,155 @@
</Compile>
<Compile Include="LinqToSql\LinqToSqlClassesSerializationTests.cs" />
<Compile Include="LinqToSql\Person.cs" />
<Compile Include="LinqToSql\Role.cs" />
<Compile Include="Linq\ComponentModel\BindingTests.cs" />
<Compile Include="Linq\ComponentModel\JPropertyDescriptorTests.cs" />
<Compile Include="Linq\DynamicTests.cs" />
<Compile Include="Linq\JArrayTests.cs" />
<Compile Include="Linq\JConstructorTests.cs" />
<Compile Include="Linq\JObjectTests.cs" />
<Compile Include="Linq\JPathTests.cs" />
<Compile Include="Linq\JPropertyTests.cs" />
<Compile Include="Linq\JRawTests.cs" />
<Compile Include="Linq\JTokenEqualityComparerTests.cs" />
<Compile Include="Linq\JTokenReaderTest.cs" />
<Compile Include="Linq\JTokenTests.cs" />
<Compile Include="Linq\JTokenWriterTest.cs" />
<Compile Include="Linq\JValueTests.cs" />
<Compile Include="Linq\LinqToJsonTest.cs" />
<Compile Include="PerformanceTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Schema\ExtensionsTests.cs" />
<Compile Include="Schema\JsonSchemaBuilderTests.cs" />
<Compile Include="Schema\JsonSchemaGeneratorTests.cs" />
<Compile Include="Schema\JsonSchemaModelBuilderTests.cs" />
<Compile Include="Schema\JsonSchemaNodeTests.cs" />
<Compile Include="Schema\JsonSchemaSpecTests.cs" />
<Compile Include="Schema\JsonSchemaTests.cs" />
<Compile Include="Serialization\CamelCasePropertyNamesContractResolverTests.cs" />
<Compile Include="Serialization\ConstructorHandlingTests.cs" />
<Compile Include="Serialization\ContractResolverTests.cs" />
<Compile Include="Serialization\DefaultValueHandlingTests.cs" />
<Compile Include="Serialization\DynamicTests.cs" />
<Compile Include="Serialization\ReferenceLoopHandlingTests.cs" />
<Compile Include="Serialization\TraceWriterTests.cs" />
<Compile Include="Serialization\WebApiIntegrationTests.cs" />
<Compile Include="Serialization\EntitiesSerializationTests.cs" />
<Compile Include="Serialization\JsonPropertyCollectionTests.cs" />
<Compile Include="Serialization\JsonSerializerTest.cs" />
<Compile Include="Serialization\MissingMemberHandlingTests.cs" />
<Compile Include="Serialization\NullValueHandlingTests.cs" />
<Compile Include="Serialization\PopulateTests.cs" />
<Compile Include="Serialization\PreserveReferencesHandlingTests.cs" />
<Compile Include="Serialization\ReferenceLoopHandlingTests.cs" />
<Compile Include="Serialization\SerializationErrorHandlingTests.cs" />
<Compile Include="Serialization\SerializationEventAttributeTests.cs" />
<Compile Include="Serialization\TraceWriterTests.cs" />
<Compile Include="Serialization\TypeNameHandlingTests.cs" />
<Compile Include="Serialization\WebApiIntegrationTests.cs" />
<Compile Include="SilverlightTests.cs" />
<Compile Include="TestFixtureBase.cs" />
<Compile Include="TestObjects\AbstractGenericBase.cs" />
<Compile Include="TestObjects\ArgumentConverterPrecedenceClassConverter.cs" />
<Compile Include="TestObjects\Article.cs" />
<Compile Include="TestObjects\ArticleCollection.cs" />
<Compile Include="TestObjects\BadJsonPropertyClass.cs" />
<Compile Include="TestObjects\Bar.cs" />
<Compile Include="TestObjects\Car.cs" />
<Compile Include="TestObjects\CircularReferenceClass.cs" />
<Compile Include="TestObjects\CircularReferenceWithIdClass.cs" />
<Compile Include="TestObjects\ClassAndMemberConverterClass.cs" />
<Compile Include="TestObjects\ClassConverterPrecedenceClassConverter.cs" />
<Compile Include="TestObjects\ClassWithArray.cs" />
<Compile Include="TestObjects\ClassWithGuid.cs" />
<Compile Include="TestObjects\Computer.cs" />
<Compile Include="TestObjects\ConstructorCaseSensitivityClass.cs" />
<Compile Include="TestObjects\ConstructorReadonlyFields.cs" />
<Compile Include="TestObjects\Container.cs" />
<Compile Include="TestObjects\Content.cs" />
<Compile Include="TestObjects\ContentBaseClass.cs" />
<Compile Include="TestObjects\ContentSubClass.cs" />
<Compile Include="TestObjects\ConverableMembers.cs" />
<Compile Include="TestObjects\ConverterPrecedenceClass.cs" />
<Compile Include="TestObjects\ConverterPrecedenceClassConverter.cs" />
<Compile Include="TestObjects\DateTimeErrorObjectCollection.cs" />
<Compile Include="TestObjects\DateTimeTestClass.cs" />
<Compile Include="TestObjects\DefaultValueAttributeTestClass.cs" />
<Compile Include="TestObjects\DictionaryInterfaceClass.cs" />
<Compile Include="TestObjects\DoubleClass.cs" />
<Compile Include="TestObjects\EmployeeReference.cs" />
<Compile Include="TestObjects\Event.cs" />
<Compile Include="TestObjects\Foo.cs" />
<Compile Include="TestObjects\GenericImpl.cs" />
<Compile Include="TestObjects\GenericListAndDictionaryInterfaceProperties.cs" />
<Compile Include="TestObjects\GetOnlyPropertyClass.cs" />
<Compile Include="TestObjects\GoogleMapGeocoderStructure.cs" />
<Compile Include="TestObjects\HolderClass.cs" />
<Compile Include="TestObjects\IncompatibleJsonAttributeClass.cs" />
<Compile Include="TestObjects\InterfacePropertyTestClass.cs" />
<Compile Include="TestObjects\Invoice.cs" />
<Compile Include="TestObjects\IPrivateImplementationA.cs" />
<Compile Include="TestObjects\IPrivateImplementationB.cs" />
<Compile Include="TestObjects\IPrivateOverriddenImplementation.cs" />
<Compile Include="TestObjects\ListOfIds.cs" />
<Compile Include="TestObjects\Movie.cs" />
<Compile Include="TestObjects\PersonError.cs" />
<Compile Include="TestObjects\PersonPropertyClass.cs" />
<Compile Include="TestObjects\PrivateConstructorTestClass.cs" />
<Compile Include="TestObjects\PrivateConstructorWithPublicParametizedConstructorTestClass.cs" />
<Compile Include="TestObjects\Content.cs" />
<Compile Include="TestObjects\DateTimeErrorObjectCollection.cs" />
<Compile Include="Serialization\EntitiesSerializationTests.cs" />
<Compile Include="TestObjects\DictionaryInterfaceClass.cs" />
<Compile Include="TestObjects\Event.cs" />
<Compile Include="TestObjects\GoogleMapGeocoderStructure.cs" />
<Compile Include="TestObjects\InterfacePropertyTestClass.cs" />
<Compile Include="TestObjects\JaggedArray.cs" />
<Compile Include="TestObjects\JsonIgnoreAttributeOnClassTestClass.cs" />
<Compile Include="TestObjects\JsonIgnoreAttributeTestClass.cs" />
<Compile Include="TestObjects\JsonPropertyClass.cs" />
<Compile Include="TestObjects\JsonPropertyWithHandlingValues.cs" />
<Compile Include="TestObjects\ListErrorObject.cs" />
<Compile Include="TestObjects\ListErrorObjectCollection.cs" />
<Compile Include="Serialization\MissingMemberHandlingTests.cs" />
<Compile Include="Serialization\PopulateTests.cs" />
<Compile Include="Serialization\SerializationErrorHandlingTests.cs" />
<Compile Include="Serialization\SerializationEventAttributeTests.cs" />
<Compile Include="Schema\ExtensionsTests.cs" />
<Compile Include="Schema\JsonSchemaModelBuilderTests.cs" />
<Compile Include="Schema\JsonSchemaNodeTests.cs" />
<Compile Include="Serialization\CamelCasePropertyNamesContractResolverTests.cs" />
<Compile Include="Serialization\PreserveReferencesHandlingTests.cs" />
<Compile Include="Serialization\TypeNameHandlingTests.cs" />
<Compile Include="TestObjects\ListOfIds.cs" />
<Compile Include="TestObjects\ListTestClass.cs" />
<Compile Include="TestObjects\LogEntry.cs" />
<Compile Include="TestObjects\MemberConverterClass.cs" />
<Compile Include="TestObjects\MemberConverterPrecedenceClassConverter.cs" />
<Compile Include="TestObjects\MethodExecutorObject.cs" />
<Compile Include="TestObjects\Movie.cs" />
<Compile Include="TestObjects\MyClass.cs" />
<Compile Include="TestObjects\Name.cs" />
<Compile Include="TestObjects\NonRequest.cs" />
<Compile Include="TestObjects\NullableDateTimeTestClass.cs" />
<Compile Include="TestObjects\ObjectArrayPropertyTest.cs" />
<Compile Include="TestObjects\Person.cs" />
<Compile Include="TestObjects\PersonError.cs" />
<Compile Include="TestObjects\PersonPropertyClass.cs" />
<Compile Include="TestObjects\PersonRaw.cs" />
<Compile Include="TestObjects\PhoneNumber.cs" />
<Compile Include="TestObjects\PrivateConstructorTestClass.cs" />
<Compile Include="TestObjects\PrivateConstructorWithPublicParametizedConstructorTestClass.cs" />
<Compile Include="TestObjects\PrivateImplementationAClass.cs" />
<Compile Include="TestObjects\PrivateImplementationBClass.cs" />
<Compile Include="TestObjects\PrivateMembersClass.cs" />
<Compile Include="TestObjects\Product.cs" />
<Compile Include="TestObjects\ProductCollection.cs" />
<Compile Include="TestObjects\ProductShort.cs" />
<Compile Include="TestObjects\PropertyCase.cs" />
<Compile Include="TestObjects\PublicParametizedConstructorRequiringConverterTestClass.cs" />
<Compile Include="TestObjects\PublicParametizedConstructorTestClass.cs" />
<Compile Include="TestObjects\PublicParametizedConstructorWithNonPropertyParameterTestClass.cs" />
<Compile Include="TestObjects\PublicParametizedConstructorWithPropertyNameConflict.cs" />
<Compile Include="TestObjects\SearchResult.cs" />
<Compile Include="TestObjects\StructTest.cs" />
<Compile Include="TestObjects\WagePerson.cs" />
<Compile Include="TestObjects\PropertyCase.cs" />
<Compile Include="TestObjects\RequestOnly.cs" />
<Compile Include="TestObjects\RoleTransfer.cs" />
<Compile Include="TestObjects\SetOnlyPropertyClass2.cs" />
<Compile Include="TestObjects\SubKlass.cs" />
<Compile Include="TestObjects\SuperKlass.cs" />
<Compile Include="TestObjects\VersionKeyedCollection.cs" />
<Compile Include="TestObjects\AbstractGenericBase.cs" />
<Compile Include="TestObjects\ArgumentConverterPrecedenceClassConverter.cs" />
<Compile Include="TestObjects\BadJsonPropertyClass.cs" />
<Compile Include="TestObjects\CircularReferenceClass.cs" />
<Compile Include="TestObjects\ClassAndMemberConverterClass.cs" />
<Compile Include="TestObjects\ClassConverterPrecedenceClassConverter.cs" />
<Compile Include="TestObjects\ConstructorCaseSensitivityClass.cs" />
<Compile Include="TestObjects\ConverterPrecedenceClass.cs" />
<Compile Include="TestObjects\ConverterPrecedenceClassConverter.cs" />
<Compile Include="TestObjects\CircularReferenceWithIdClass.cs" />
<Compile Include="TestObjects\EmployeeReference.cs" />
<Compile Include="TestObjects\JsonPropertyWithHandlingValues.cs" />
<Compile Include="TestObjects\DefaultValueAttributeTestClass.cs" />
<Compile Include="TestObjects\DoubleClass.cs" />
<Compile Include="TestObjects\GenericImpl.cs" />
<Compile Include="TestObjects\GenericListAndDictionaryInterfaceProperties.cs" />
<Compile Include="TestObjects\GetOnlyPropertyClass.cs" />
<Compile Include="TestObjects\IncompatibleJsonAttributeClass.cs" />
<Compile Include="TestObjects\Invoice.cs" />
<Compile Include="TestObjects\JsonIgnoreAttributeTestClass.cs" />
<Compile Include="TestObjects\MemberConverterPrecedenceClassConverter.cs" />
<Compile Include="TestObjects\MethodExecutorObject.cs" />
<Compile Include="TestObjects\JaggedArray.cs" />
<Compile Include="TestObjects\MyClass.cs" />
<Compile Include="TestObjects\Name.cs" />
<Compile Include="TestObjects\PersonRaw.cs" />
<Compile Include="TestObjects\PhoneNumber.cs" />
<Compile Include="TestObjects\PrivateMembersClass.cs" />
<Compile Include="TestObjects\RequiredMembersClass.cs" />
<Compile Include="TestObjects\RoleTransfer.cs" />
<Compile Include="TestObjects\SearchResult.cs" />
<Compile Include="TestObjects\SerializationEventTestDictionary.cs" />
<Compile Include="TestObjects\SerializationEventTestList.cs" />
<Compile Include="TestObjects\SerializationEventTestObject.cs" />
<Compile Include="TestObjects\SerializationEventTestObjectWithConstructor.cs" />
<Compile Include="TestObjects\SetOnlyPropertyClass.cs" />
<Compile Include="TestObjects\Article.cs" />
<Compile Include="TestObjects\ArticleCollection.cs" />
<Compile Include="TestObjects\ClassWithArray.cs" />
<Compile Include="TestObjects\ClassWithGuid.cs" />
<Compile Include="TestObjects\ConverableMembers.cs" />
<Compile Include="TestObjects\JsonIgnoreAttributeOnClassTestClass.cs" />
<Compile Include="Linq\JConstructorTests.cs" />
<Compile Include="Linq\JPropertyTests.cs" />
<Compile Include="TestObjects\MemberConverterClass.cs" />
<Compile Include="TestObjects\Product.cs" />
<Compile Include="TestObjects\ProductCollection.cs" />
<Compile Include="TestObjects\ProductShort.cs" />
<Compile Include="TestObjects\SetOnlyPropertyClass2.cs" />
<Compile Include="TestObjects\Shortie.cs" />
<Compile Include="TestObjects\Store.cs" />
<Compile Include="TestObjects\StoreColor.cs" />
<Compile Include="TestObjects\Person.cs" />
<Compile Include="Schema\JsonSchemaBuilderTests.cs" />
<Compile Include="Schema\JsonSchemaGeneratorTests.cs" />
<Compile Include="Schema\JsonSchemaTests.cs" />
<Compile Include="TestObjects\NullableDateTimeTestClass.cs" />
<Compile Include="TestObjects\DateTimeTestClass.cs" />
<Compile Include="Converters\IsoDateTimeConverterTests.cs" />
<Compile Include="JsonConvertTest.cs" />
<Compile Include="Converters\JavaScriptDateTimeConverterTests.cs" />
<Compile Include="Serialization\JsonSerializerTest.cs" />
<Compile Include="JsonTextReaderTest.cs" />
<Compile Include="JsonTextWriterTest.cs" />
<Compile Include="Linq\JTokenReaderTest.cs" />
<Compile Include="Linq\JTokenWriterTest.cs" />
<Compile Include="Linq\JArrayTests.cs" />
<Compile Include="Linq\JObjectTests.cs" />
<Compile Include="Linq\JTokenEqualityComparerTests.cs" />
<Compile Include="Linq\JTokenTests.cs" />
<Compile Include="Linq\JValueTests.cs" />
<Compile Include="Linq\LinqToJsonTest.cs" />
<Compile Include="PerformanceTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SilverlightTests.cs" />
<Compile Include="TestFixtureBase.cs" />
<Compile Include="Converters\XmlNodeConverterTest.cs" />
<Compile Include="TestObjects\StructTest.cs" />
<Compile Include="TestObjects\SubKlass.cs" />
<Compile Include="TestObjects\SuperKlass.cs" />
<Compile Include="TestObjects\TypeClass.cs" />
<Compile Include="TestObjects\TypedSubHashtable.cs" />
<Compile Include="TestObjects\UserNullable.cs" />
<Compile Include="TestObjects\VersionKeyedCollection.cs" />
<Compile Include="TestObjects\WagePerson.cs" />
<Compile Include="Utilities\DynamicReflectionDelegateFactoryTests.cs" />
<Compile Include="Utilities\ReflectionUtilsTests.cs" />
<Compile Include="Utilities\StringUtilsTests.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Newtonsoft.Json\Newtonsoft.Json.csproj">
<Project>{A9AE40FF-1A21-414A-9FE7-3BE13644CC6D}</Project>
<Name>Newtonsoft.Json</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="LinqToSql\LinqToSqlClasses.dbml">
<Generator>MSLinqToSQLGenerator</Generator>
@@ -475,9 +413,6 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Service Include="{3259AA49-8AA1-44D3-9025-A0B520596A8C}" />
</ItemGroup>
<ItemGroup>
<EntityDeploy Include="FileSystemEntityModel.edmx">
<Generator>EntityModelCodeGenerator</Generator>
@@ -487,35 +422,21 @@
<DependentUpon>LinqToSqlClasses.dbml</DependentUpon>
</None>
</ItemGroup>
<ItemGroup>
<Service Include="{3259AA49-8AA1-44D3-9025-A0B520596A8C}" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Newtonsoft.Json\Newtonsoft.Json.csproj">
<Project>{eeea67f9-9089-481d-a4dc-0966dec9fd7d}</Project>
<Name>Newtonsoft.Json</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="bunny_pancake.jpg">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="PoisonText.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Folder Include="Schema\Specs\optional\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
@@ -73,4 +73,4 @@ using System.Security;
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.5.0.0")]
[assembly: AssemblyFileVersion("4.5.11.15911")]
[assembly: AssemblyFileVersion("5.0.1.15913")]
@@ -7616,6 +7616,157 @@ Parameter name: value",
}", json);
}
#endif
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
[Test]
public void DeserializeReadOnlyList()
{
IReadOnlyList<int> list = JsonConvert.DeserializeObject<IReadOnlyList<int>>("[1,2,3]");
Assert.AreEqual(3, list.Count);
Assert.AreEqual(1, list[0]);
Assert.AreEqual(2, list[1]);
Assert.AreEqual(3, list[2]);
}
[Test]
public void DeserializeReadOnlyCollection()
{
IReadOnlyCollection<int> list = JsonConvert.DeserializeObject<IReadOnlyCollection<int>>("[1,2,3]");
Assert.AreEqual(3, list.Count);
Assert.AreEqual(1, list.ElementAt(0));
Assert.AreEqual(2, list.ElementAt(1));
Assert.AreEqual(3, list.ElementAt(2));
}
[Test]
public void DeserializeReadOnlyDictionary()
{
IReadOnlyDictionary<string, int> dic = JsonConvert.DeserializeObject<IReadOnlyDictionary<string, int>>("{'one':1,'two':2}");
Assert.AreEqual(2, dic.Count);
Assert.AreEqual(1, dic["one"]);
Assert.AreEqual(2, dic["two"]);
CustomAssert.IsInstanceOfType(typeof(ReadOnlyDictionary<string, int>), dic);
}
public class CustomReadOnlyDictionary<TKey, TValue> : IReadOnlyDictionary<TKey, TValue>
{
private readonly IDictionary<TKey, TValue> _dictionary;
public CustomReadOnlyDictionary(IDictionary<TKey, TValue> dictionary)
{
_dictionary = dictionary;
}
public bool ContainsKey(TKey key)
{
return _dictionary.ContainsKey(key);
}
public IEnumerable<TKey> Keys
{
get { return _dictionary.Keys; }
}
public bool TryGetValue(TKey key, out TValue value)
{
return _dictionary.TryGetValue(key, out value);
}
public IEnumerable<TValue> Values
{
get { return _dictionary.Values; }
}
public TValue this[TKey key]
{
get { return _dictionary[key]; }
}
public int Count
{
get { return _dictionary.Count; }
}
public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator()
{
return _dictionary.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return _dictionary.GetEnumerator();
}
}
[Test]
public void SerializeCustomReadOnlyDictionary()
{
IDictionary<string, int> d = new Dictionary<string, int>
{
{"one", 1},
{"two", 2}
};
CustomReadOnlyDictionary<string, int> dic = new CustomReadOnlyDictionary<string, int>(d);
string json = JsonConvert.SerializeObject(dic, Formatting.Indented);
Assert.AreEqual(@"{
""one"": 1,
""two"": 2
}", json);
}
public class CustomReadOnlyCollection<T> : IReadOnlyCollection<T>
{
private readonly IList<T> _values;
public CustomReadOnlyCollection (IList<T> values)
{
_values = values;
}
public int Count
{
get { return _values.Count; }
}
public IEnumerator<T> GetEnumerator()
{
return _values.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return _values.GetEnumerator();
}
}
[Test]
public void SerializeCustomReadOnlyCollection()
{
IList<int> l = new List<int>
{
1,
2,
3
};
CustomReadOnlyCollection<int> list = new CustomReadOnlyCollection<int>(l);
string json = JsonConvert.SerializeObject(list, Formatting.Indented);
Assert.AreEqual(@"[
1,
2,
3
]", json);
}
#endif
}
public enum Antworten
+12 -18
View File
@@ -1,15 +1,9 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Lib", "Lib", "{620042D9-2753-48F5-BEDE-3905248781D2}"
ProjectSection(SolutionItems) = preProject
Lib\NUnit\DotNet\nunit.framework.dll = Lib\NUnit\DotNet\nunit.framework.dll
Lib\NUnit\DotNet\nunit.framework.xml = Lib\NUnit\DotNet\nunit.framework.xml
EndProjectSection
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newtonsoft.Json", "Newtonsoft.Json\Newtonsoft.Json.csproj", "{EEEA67F9-9089-481D-A4DC-0966DEC9FD7D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newtonsoft.Json", "Newtonsoft.Json\Newtonsoft.Json.csproj", "{A9AE40FF-1A21-414A-9FE7-3BE13644CC6D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newtonsoft.Json.Tests", "Newtonsoft.Json.Tests\Newtonsoft.Json.Tests.csproj", "{3E6E2335-B079-4B5B-A65A-9D586914BCBB}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newtonsoft.Json.Tests", "Newtonsoft.Json.Tests\Newtonsoft.Json.Tests.csproj", "{CCD1B8C4-7349-409C-A090-A9B9A1ABD981}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -17,14 +11,14 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A9AE40FF-1A21-414A-9FE7-3BE13644CC6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A9AE40FF-1A21-414A-9FE7-3BE13644CC6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A9AE40FF-1A21-414A-9FE7-3BE13644CC6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A9AE40FF-1A21-414A-9FE7-3BE13644CC6D}.Release|Any CPU.Build.0 = Release|Any CPU
{3E6E2335-B079-4B5B-A65A-9D586914BCBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3E6E2335-B079-4B5B-A65A-9D586914BCBB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E6E2335-B079-4B5B-A65A-9D586914BCBB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E6E2335-B079-4B5B-A65A-9D586914BCBB}.Release|Any CPU.Build.0 = Release|Any CPU
{EEEA67F9-9089-481D-A4DC-0966DEC9FD7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EEEA67F9-9089-481D-A4DC-0966DEC9FD7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EEEA67F9-9089-481D-A4DC-0966DEC9FD7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EEEA67F9-9089-481D-A4DC-0966DEC9FD7D}.Release|Any CPU.Build.0 = Release|Any CPU
{CCD1B8C4-7349-409C-A090-A9B9A1ABD981}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CCD1B8C4-7349-409C-A090-A9B9A1ABD981}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CCD1B8C4-7349-409C-A090-A9B9A1ABD981}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CCD1B8C4-7349-409C-A090-A9B9A1ABD981}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -23,6 +23,7 @@
// OTHER DEALINGS IN THE SOFTWARE.
#endregion
#if NETFX_CORE
using System;
using System.Collections.Generic;
using System.Globalization;
@@ -196,3 +197,4 @@ namespace Newtonsoft.Json.Converters
}
}
}
#endif
@@ -87,6 +87,6 @@ using System.Security;
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("4.5.0.0")]
[assembly: AssemblyFileVersion("4.5.11.15911")]
[assembly: AssemblyFileVersion("5.0.1.15913")]
[assembly: CLSCompliant(true)]
@@ -25,6 +25,7 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Reflection;
using Newtonsoft.Json.Utilities;
using System.Collections;
@@ -76,6 +77,12 @@ namespace Newtonsoft.Json.Serialization
_genericCollectionDefinitionType = typeof (IEnumerable<>);
CollectionItemType = underlyingType.GetGenericArguments()[0];
}
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (underlyingType.IsGenericType() && underlyingType.GetGenericTypeDefinition() == typeof(IReadOnlyCollection<>))
{
CollectionItemType = underlyingType.GetGenericArguments()[0];
}
#endif
else
{
CollectionItemType = ReflectionUtils.GetCollectionItemType(UnderlyingType);
@@ -86,6 +93,10 @@ namespace Newtonsoft.Json.Serialization
if (IsTypeGenericCollectionInterface(UnderlyingType))
CreatedType = ReflectionUtils.MakeGenericType(typeof(List<>), CollectionItemType);
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (IsTypeGenericReadOnlyCollectionInterface(UnderlyingType))
CreatedType = ReflectionUtils.MakeGenericType(typeof(ReadOnlyCollection<>), CollectionItemType);
#endif
#if !(NET20 || NET35)
else if (IsTypeGenericSetInterface(UnderlyingType))
CreatedType = ReflectionUtils.MakeGenericType(typeof(HashSet<>), CollectionItemType);
@@ -155,6 +166,19 @@ namespace Newtonsoft.Json.Serialization
|| genericDefinition == typeof(IEnumerable<>));
}
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
private bool IsTypeGenericReadOnlyCollectionInterface(Type type)
{
if (!type.IsGenericType())
return false;
Type genericDefinition = type.GetGenericTypeDefinition();
return (genericDefinition == typeof (IReadOnlyCollection<>)
|| genericDefinition == typeof (IReadOnlyList<>));
}
#endif
#if !(NET20 || NET35)
private bool IsTypeGenericSetInterface(Type type)
{
@@ -25,6 +25,7 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Reflection;
using Newtonsoft.Json.Utilities;
using System.Collections;
@@ -60,9 +61,12 @@ namespace Newtonsoft.Json.Serialization
private readonly bool _isDictionaryValueTypeNullableType;
private readonly Type _genericCollectionDefinitionType;
private Type _genericWrapperType;
private MethodCall<object, object> _genericWrapperCreator;
private Func<object> _genericTemporaryDictionaryCreator;
/// <summary>
/// Initializes a new instance of the <see cref="JsonDictionaryContract"/> class.
/// </summary>
@@ -79,6 +83,13 @@ namespace Newtonsoft.Json.Serialization
keyType = _genericCollectionDefinitionType.GetGenericArguments()[0];
valueType = _genericCollectionDefinitionType.GetGenericArguments()[1];
}
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (ReflectionUtils.ImplementsGenericDefinition(underlyingType, typeof(IReadOnlyDictionary<,>), out _genericCollectionDefinitionType))
{
keyType = _genericCollectionDefinitionType.GetGenericArguments()[0];
valueType = _genericCollectionDefinitionType.GetGenericArguments()[1];
}
#endif
else
{
ReflectionUtils.GetDictionaryKeyValueTypes(UnderlyingType, out keyType, out valueType);
@@ -94,6 +105,13 @@ namespace Newtonsoft.Json.Serialization
{
CreatedType = ReflectionUtils.MakeGenericType(typeof(Dictionary<,>), keyType, valueType);
}
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (IsTypeGenericReadOnlyDictionaryInterface(UnderlyingType))
{
IsReadOnlyDictionary = true;
CreatedType = ReflectionUtils.MakeGenericType(typeof(ReadOnlyDictionary<,>), keyType, valueType);
}
#endif
else if (UnderlyingType == typeof(IDictionary))
{
CreatedType = typeof (Dictionary<object, object>);
@@ -116,6 +134,18 @@ namespace Newtonsoft.Json.Serialization
return (IWrappedDictionary)_genericWrapperCreator(null, dictionary);
}
internal object CreateTemporaryDictionary()
{
if (_genericTemporaryDictionaryCreator == null)
{
Type temporaryDictionaryType = ReflectionUtils.MakeGenericType(typeof (Dictionary<,>), DictionaryKeyType, DictionaryValueType);
_genericTemporaryDictionaryCreator = JsonTypeReflector.ReflectionDelegateFactory.CreateDefaultConstructor<object>(temporaryDictionaryType);
}
return _genericTemporaryDictionaryCreator();
}
private bool IsTypeGenericDictionaryInterface(Type type)
{
if (!type.IsGenericType())
@@ -125,5 +155,19 @@ namespace Newtonsoft.Json.Serialization
return (genericDefinition == typeof(IDictionary<,>));
}
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
private bool IsTypeGenericReadOnlyDictionaryInterface(Type type)
{
if (!type.IsGenericType())
return false;
Type genericDefinition = type.GetGenericTypeDefinition();
return (genericDefinition == typeof(IReadOnlyDictionary<,>));
}
#endif
public bool IsReadOnlyDictionary { get; set; }
}
}
@@ -386,13 +386,24 @@ namespace Newtonsoft.Json.Serialization
break;
case JsonContractType.Dictionary:
JsonDictionaryContract dictionaryContract = (JsonDictionaryContract) contract;
bool isTemporaryDictionary = false;
object targetDictionary;
if (existingValue != null)
targetDictionary = existingValue;
else
targetDictionary = CreateNewDictionary(reader, dictionaryContract);
targetDictionary = CreateNewDictionary(reader, dictionaryContract, out isTemporaryDictionary);
return PopulateDictionary(dictionaryContract.CreateWrapper(targetDictionary), reader, dictionaryContract, member, id);
object dictionary = PopulateDictionary(dictionaryContract.CreateWrapper(targetDictionary), reader, dictionaryContract, member, id);
if (isTemporaryDictionary)
{
if (dictionaryContract.IsReadOnlyDictionary)
{
dictionary = ReflectionUtils.CreateInstance(contract.CreatedType, dictionary);
}
}
return dictionary;
#if !(NET35 || NET20)
case JsonContractType.Dynamic:
JsonDynamicContract dynamicContract = (JsonDynamicContract) contract;
@@ -824,15 +835,24 @@ To fix this error either change the JSON to a {1} or change the deserialized typ
return true;
}
public object CreateNewDictionary(JsonReader reader, JsonDictionaryContract contract)
public object CreateNewDictionary(JsonReader reader, JsonDictionaryContract contract, out bool isTemporaryDictionary)
{
object dictionary;
if (contract.DefaultCreator != null &&
(!contract.DefaultCreatorNonPublic || Serializer.ConstructorHandling == ConstructorHandling.AllowNonPublicDefaultConstructor))
if (contract.DefaultCreator != null && (!contract.DefaultCreatorNonPublic || Serializer.ConstructorHandling == ConstructorHandling.AllowNonPublicDefaultConstructor))
{
dictionary = contract.DefaultCreator();
isTemporaryDictionary = false;
}
else if (contract.IsReadOnlyDictionary)
{
dictionary = contract.CreateTemporaryDictionary();
isTemporaryDictionary = true;
}
else
{
throw JsonSerializationException.Create(reader, "Unable to find a default constructor to use for type {0}.".FormatWith(CultureInfo.InvariantCulture, contract.UnderlyingType));
}
return dictionary;
}
@@ -104,8 +104,12 @@ namespace Newtonsoft.Json.Utilities
if (typeof(IDictionary).IsAssignableFrom(type))
return true;
if (ReflectionUtils.ImplementsGenericDefinition(type, typeof (IDictionary<,>)))
if (ReflectionUtils.ImplementsGenericDefinition(type, typeof(IDictionary<,>)))
return true;
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
if (ReflectionUtils.ImplementsGenericDefinition(type, typeof(IReadOnlyDictionary<,>)))
return true;
#endif
return false;
}
@@ -45,6 +45,9 @@ namespace Newtonsoft.Json.Utilities
{
private readonly IDictionary _dictionary;
private readonly IDictionary<TKey, TValue> _genericDictionary;
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
private readonly IReadOnlyDictionary<TKey, TValue> _readOnlyDictionary;
#endif
private object _syncRoot;
public DictionaryWrapper(IDictionary dictionary)
@@ -61,18 +64,33 @@ namespace Newtonsoft.Json.Utilities
_genericDictionary = dictionary;
}
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
public DictionaryWrapper(IReadOnlyDictionary<TKey, TValue> dictionary)
{
ValidationUtils.ArgumentNotNull(dictionary, "dictionary");
_readOnlyDictionary = dictionary;
}
#endif
public void Add(TKey key, TValue value)
{
if (_dictionary != null)
_dictionary.Add(key, value);
else
else if (_genericDictionary != null)
_genericDictionary.Add(key, value);
else
throw new NotSupportedException();
}
public bool ContainsKey(TKey key)
{
if (_dictionary != null)
return _dictionary.Contains(key);
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return _readOnlyDictionary.ContainsKey(key);
#endif
else
return _genericDictionary.ContainsKey(key);
}
@@ -83,6 +101,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
return _dictionary.Keys.Cast<TKey>().ToList();
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return _readOnlyDictionary.Keys.ToList();
#endif
else
return _genericDictionary.Keys;
}
@@ -102,8 +124,16 @@ namespace Newtonsoft.Json.Utilities
return false;
}
}
return _genericDictionary.Remove(key);
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
{
throw new NotSupportedException();
}
#endif
else
{
return _genericDictionary.Remove(key);
}
}
public bool TryGetValue(TKey key, out TValue value)
@@ -121,8 +151,16 @@ namespace Newtonsoft.Json.Utilities
return true;
}
}
return _genericDictionary.TryGetValue(key, out value);
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
{
throw new NotSupportedException();
}
#endif
else
{
return _genericDictionary.TryGetValue(key, out value);
}
}
public ICollection<TValue> Values
@@ -131,6 +169,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
return _dictionary.Values.Cast<TValue>().ToList();
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return _readOnlyDictionary.Values.ToList();
#endif
else
return _genericDictionary.Values;
}
@@ -142,12 +184,21 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
return (TValue)_dictionary[key];
return _genericDictionary[key];
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return _readOnlyDictionary[key];
#endif
else
return _genericDictionary[key];
}
set
{
if (_dictionary != null)
_dictionary[key] = value;
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
throw new NotSupportedException();
#endif
else
_genericDictionary[key] = value;
}
@@ -157,7 +208,11 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
((IList)_dictionary).Add(item);
else
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
throw new NotSupportedException();
#endif
else if (_genericDictionary != null)
_genericDictionary.Add(item);
}
@@ -165,6 +220,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
_dictionary.Clear();
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
throw new NotSupportedException();
#endif
else
_genericDictionary.Clear();
}
@@ -173,6 +232,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
return ((IList)_dictionary).Contains(item);
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return _readOnlyDictionary.Contains(item);
#endif
else
return _genericDictionary.Contains(item);
}
@@ -186,6 +249,12 @@ namespace Newtonsoft.Json.Utilities
array[arrayIndex++] = new KeyValuePair<TKey, TValue>((TKey)item.Key, (TValue)item.Value);
}
}
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
{
throw new NotSupportedException();
}
#endif
else
{
_genericDictionary.CopyTo(array, arrayIndex);
@@ -198,6 +267,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
return _dictionary.Count;
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return _readOnlyDictionary.Count;
#endif
else
return _genericDictionary.Count;
}
@@ -209,6 +282,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
return _dictionary.IsReadOnly;
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return true;
#endif
else
return _genericDictionary.IsReadOnly;
}
@@ -237,6 +314,12 @@ namespace Newtonsoft.Json.Utilities
return true;
}
}
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
{
throw new NotSupportedException();
}
#endif
else
{
return _genericDictionary.Remove(item);
@@ -247,6 +330,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
return _dictionary.Cast<DictionaryEntry>().Select(de => new KeyValuePair<TKey, TValue>((TKey)de.Key, (TValue)de.Value)).GetEnumerator();
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return _readOnlyDictionary.GetEnumerator();
#endif
else
return _genericDictionary.GetEnumerator();
}
@@ -260,6 +347,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
_dictionary.Add(key, value);
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
throw new NotSupportedException();
#endif
else
_genericDictionary.Add((TKey)key, (TValue)value);
}
@@ -270,6 +361,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
return _dictionary[key];
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return _readOnlyDictionary[(TKey)key];
#endif
else
return _genericDictionary[(TKey)key];
}
@@ -277,6 +372,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
_dictionary[key] = value;
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
throw new NotSupportedException();
#endif
else
_genericDictionary[(TKey)key] = (TValue)value;
}
@@ -327,6 +426,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
return _dictionary.GetEnumerator();
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return new DictionaryEnumerator<TKey, TValue>(_readOnlyDictionary.GetEnumerator());
#endif
else
return new DictionaryEnumerator<TKey, TValue>(_genericDictionary.GetEnumerator());
}
@@ -335,6 +438,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_genericDictionary != null)
return _genericDictionary.ContainsKey((TKey)key);
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return _readOnlyDictionary.ContainsKey((TKey)key);
#endif
else
return _dictionary.Contains(key);
}
@@ -345,6 +452,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_genericDictionary != null)
return false;
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return true;
#endif
else
return _dictionary.IsFixedSize;
}
@@ -356,6 +467,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_genericDictionary != null)
return _genericDictionary.Keys.ToList();
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return _readOnlyDictionary.Keys.ToList();
#endif
else
return _dictionary.Keys;
}
@@ -365,6 +480,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
_dictionary.Remove(key);
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
throw new NotSupportedException();
#endif
else
_genericDictionary.Remove((TKey)key);
}
@@ -375,6 +494,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_genericDictionary != null)
return _genericDictionary.Values.ToList();
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return _readOnlyDictionary.Values.ToList();
#endif
else
return _dictionary.Values;
}
@@ -384,6 +507,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
_dictionary.CopyTo(array, index);
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
throw new NotSupportedException();
#endif
else
_genericDictionary.CopyTo((KeyValuePair<TKey, TValue>[])array, index);
}
@@ -416,6 +543,10 @@ namespace Newtonsoft.Json.Utilities
{
if (_dictionary != null)
return _dictionary;
#if !(NET40 || NET35 || NET20 || SILVERLIGHT || WINDOWS_PHONE || PORTABLE)
else if (_readOnlyDictionary != null)
return _readOnlyDictionary;
#endif
else
return _genericDictionary;
}