From 7ebe8e048d86605ddab5294d88116882996994b1 Mon Sep 17 00:00:00 2001 From: Christopher Granade Date: Thu, 1 Jul 2021 19:09:02 -0700 Subject: [PATCH] Don't throw exceptions on reference loops in JSON serialization. --- src/Core/Core.csproj | 12 ++---- .../ExecutionPathTracer.csproj | 2 +- src/Kernel/IQSharpEngine.cs | 6 +++ .../Mock.Chemistry/Mock.Chemistry.csproj | 4 +- .../Mock.Standard/Mock.Standard.csproj | 4 +- .../ProjectA.csproj | 2 +- .../ProjectB.csproj | 2 +- .../Workspace.ProjectReferences.csproj | 4 +- src/Tool/appsettings.json | 43 ++++++++----------- 9 files changed, 38 insertions(+), 41 deletions(-) diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj index f76ac04e09..ab561c1845 100644 --- a/src/Core/Core.csproj +++ b/src/Core/Core.csproj @@ -38,14 +38,10 @@ - - - - - - - - + + + + diff --git a/src/ExecutionPathTracer/ExecutionPathTracer.csproj b/src/ExecutionPathTracer/ExecutionPathTracer.csproj index cbfd633e65..240949c313 100644 --- a/src/ExecutionPathTracer/ExecutionPathTracer.csproj +++ b/src/ExecutionPathTracer/ExecutionPathTracer.csproj @@ -32,7 +32,7 @@ - + diff --git a/src/Kernel/IQSharpEngine.cs b/src/Kernel/IQSharpEngine.cs index 06713caf12..b8e99fe94c 100644 --- a/src/Kernel/IQSharpEngine.cs +++ b/src/Kernel/IQSharpEngine.cs @@ -120,6 +120,12 @@ public override void Start() : "application/json" : "application/x-qsharp-data"; + // Register JSON encoders, and make sure that Newtonsoft.Json + // doesn't throw exceptions on reference loops. + JsonConvert.DefaultSettings = () => new JsonSerializerSettings + { + ReferenceLoopHandling = ReferenceLoopHandling.Ignore + }; RegisterJsonEncoder(jsonMimeType, JsonConverters.AllConverters .Concat(AzureClient.JsonConverters.AllConverters) diff --git a/src/MockLibraries/Mock.Chemistry/Mock.Chemistry.csproj b/src/MockLibraries/Mock.Chemistry/Mock.Chemistry.csproj index d7b43d4b4a..0743e4d597 100644 --- a/src/MockLibraries/Mock.Chemistry/Mock.Chemistry.csproj +++ b/src/MockLibraries/Mock.Chemistry/Mock.Chemistry.csproj @@ -1,4 +1,4 @@ - + netstandard2.1 @@ -6,6 +6,6 @@ - + diff --git a/src/MockLibraries/Mock.Standard/Mock.Standard.csproj b/src/MockLibraries/Mock.Standard/Mock.Standard.csproj index d7b43d4b4a..0743e4d597 100644 --- a/src/MockLibraries/Mock.Standard/Mock.Standard.csproj +++ b/src/MockLibraries/Mock.Standard/Mock.Standard.csproj @@ -1,4 +1,4 @@ - + netstandard2.1 @@ -6,6 +6,6 @@ - + diff --git a/src/Tests/Workspace.ProjectReferences.ProjectA/ProjectA.csproj b/src/Tests/Workspace.ProjectReferences.ProjectA/ProjectA.csproj index d72f9350c5..721201ed3f 100644 --- a/src/Tests/Workspace.ProjectReferences.ProjectA/ProjectA.csproj +++ b/src/Tests/Workspace.ProjectReferences.ProjectA/ProjectA.csproj @@ -1,4 +1,4 @@ - + netstandard2.1 diff --git a/src/Tests/Workspace.ProjectReferences.ProjectB/ProjectB.csproj b/src/Tests/Workspace.ProjectReferences.ProjectB/ProjectB.csproj index 45716af184..7576a58332 100644 --- a/src/Tests/Workspace.ProjectReferences.ProjectB/ProjectB.csproj +++ b/src/Tests/Workspace.ProjectReferences.ProjectB/ProjectB.csproj @@ -1,4 +1,4 @@ - + netstandard2.1 diff --git a/src/Tests/Workspace.ProjectReferences/Workspace.ProjectReferences.csproj b/src/Tests/Workspace.ProjectReferences/Workspace.ProjectReferences.csproj index b153d77b32..76ffb3abc8 100644 --- a/src/Tests/Workspace.ProjectReferences/Workspace.ProjectReferences.csproj +++ b/src/Tests/Workspace.ProjectReferences/Workspace.ProjectReferences.csproj @@ -1,4 +1,4 @@ - + netstandard2.1 @@ -7,7 +7,7 @@ - + diff --git a/src/Tool/appsettings.json b/src/Tool/appsettings.json index cba6f0b78b..409cacf086 100644 --- a/src/Tool/appsettings.json +++ b/src/Tool/appsettings.json @@ -5,27 +5,22 @@ } }, "AllowedHosts": "*", - "DefaultPackageVersions": [ - "Microsoft.Quantum.Compiler::0.18.2106148499-beta", - - "Microsoft.Quantum.CSharpGeneration::0.18.2106148499-beta", - "Microsoft.Quantum.Development.Kit::0.18.2106148499-beta", - "Microsoft.Quantum.Simulators::0.18.2106148499-beta", - "Microsoft.Quantum.Xunit::0.18.2106148499-beta", - - "Microsoft.Quantum.Standard::0.18.2106148499-beta", - "Microsoft.Quantum.Standard.Visualization::0.18.2106148499-beta", - "Microsoft.Quantum.Chemistry::0.18.2106148499-beta", - "Microsoft.Quantum.Chemistry.Jupyter::0.18.2106148499-beta", - "Microsoft.Quantum.MachineLearning::0.18.2106148499-beta", - "Microsoft.Quantum.Numerics::0.18.2106148499-beta", - - "Microsoft.Quantum.Katas::0.18.2106148499-beta", - - "Microsoft.Quantum.Research::0.18.2106148499-beta", - - "Microsoft.Quantum.Providers.IonQ::0.18.2106148499-beta", - "Microsoft.Quantum.Providers.Honeywell::0.18.2106148499-beta", - "Microsoft.Quantum.Providers.QCI::0.18.2106148499-beta" - ] -} + "DefaultPackageVersions": [ + "Microsoft.Quantum.Compiler::0.18.210728727-alpha", + "Microsoft.Quantum.CSharpGeneration::0.18.210728727-alpha", + "Microsoft.Quantum.Development.Kit::0.18.210728727-alpha", + "Microsoft.Quantum.Simulators::0.18.210728727-alpha", + "Microsoft.Quantum.Xunit::0.18.210728727-alpha", + "Microsoft.Quantum.Standard::0.18.210728727-alpha", + "Microsoft.Quantum.Standard.Visualization::0.18.210728727-alpha", + "Microsoft.Quantum.Chemistry::0.18.210728727-alpha", + "Microsoft.Quantum.Chemistry.Jupyter::0.18.210728727-alpha", + "Microsoft.Quantum.MachineLearning::0.18.210728727-alpha", + "Microsoft.Quantum.Numerics::0.18.210728727-alpha", + "Microsoft.Quantum.Katas::0.18.210728727-alpha", + "Microsoft.Quantum.Research::0.18.210728727-alpha", + "Microsoft.Quantum.Providers.IonQ::0.18.210728727-alpha", + "Microsoft.Quantum.Providers.Honeywell::0.18.210728727-alpha", + "Microsoft.Quantum.Providers.QCI::0.18.210728727-alpha" + ] +} \ No newline at end of file