diff --git a/src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj b/src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj
index 69597d978..b3c482215 100644
--- a/src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj
+++ b/src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj
@@ -10,7 +10,7 @@
Microsoft
Microsoft.OpenApi.Readers
Microsoft.OpenApi.Readers
- 1.6.4-preview2
+ 1.6.4-preview3
OpenAPI.NET Readers for JSON and YAML documents
© Microsoft Corporation. All rights reserved.
OpenAPI .NET
diff --git a/src/Microsoft.OpenApi.Readers/V2/OpenApiDocumentDeserializer.cs b/src/Microsoft.OpenApi.Readers/V2/OpenApiDocumentDeserializer.cs
index 02e868412..fa3aa7224 100644
--- a/src/Microsoft.OpenApi.Readers/V2/OpenApiDocumentDeserializer.cs
+++ b/src/Microsoft.OpenApi.Readers/V2/OpenApiDocumentDeserializer.cs
@@ -139,6 +139,12 @@ private static void MakeServers(IList servers, ParsingContext con
var schemes = context.GetFromTempStorage>("schemes");
Uri defaultUrl = rootNode.Context.BaseUrl;
+ // so we don't default to the document path when a host is provided
+ if (string.IsNullOrEmpty(basePath) && !string.IsNullOrEmpty(host))
+ {
+ basePath = "/";
+ }
+
// If nothing is provided, don't create a server
if (host == null && basePath == null && schemes == null)
{
diff --git a/src/Microsoft.OpenApi.Workbench/Microsoft.OpenApi.Workbench.csproj b/src/Microsoft.OpenApi.Workbench/Microsoft.OpenApi.Workbench.csproj
index c7ab75af4..88f12fcb9 100644
--- a/src/Microsoft.OpenApi.Workbench/Microsoft.OpenApi.Workbench.csproj
+++ b/src/Microsoft.OpenApi.Workbench/Microsoft.OpenApi.Workbench.csproj
@@ -1,4 +1,4 @@
-
+
net7.0-windows
WinExe
@@ -10,7 +10,7 @@
all
-
+
diff --git a/src/Microsoft.OpenApi/Helpers/DictionaryCloneHelper.cs b/src/Microsoft.OpenApi/Helpers/DictionaryCloneHelper.cs
index 279e4639d..1af7bc8c4 100644
--- a/src/Microsoft.OpenApi/Helpers/DictionaryCloneHelper.cs
+++ b/src/Microsoft.OpenApi/Helpers/DictionaryCloneHelper.cs
@@ -9,7 +9,7 @@ namespace Microsoft.OpenApi.Helpers
///
/// Helper class for deep cloning dictionaries.
///
- internal class DictionaryCloneHelper
+ internal static class DictionaryCloneHelper
{
///
/// Deep clone key value pairs in a dictionary.
@@ -21,14 +21,26 @@ internal class DictionaryCloneHelper
internal static Dictionary Clone(IDictionary dictionary)
{
if (dictionary is null) return null;
+
var clonedDictionary = new Dictionary(dictionary.Keys.Count);
+ var clonedObjects = new Dictionary