diff --git a/src/perf_tests/Python.PerformanceTests.csproj b/src/perf_tests/Python.PerformanceTests.csproj
index cc2b83e05..a05bd3f9d 100644
--- a/src/perf_tests/Python.PerformanceTests.csproj
+++ b/src/perf_tests/Python.PerformanceTests.csproj
@@ -13,7 +13,7 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
compile
@@ -25,7 +25,7 @@
-
+
diff --git a/src/runtime/Properties/AssemblyInfo.cs b/src/runtime/Properties/AssemblyInfo.cs
index b8481e7cb..4d739394c 100644
--- a/src/runtime/Properties/AssemblyInfo.cs
+++ b/src/runtime/Properties/AssemblyInfo.cs
@@ -4,5 +4,5 @@
[assembly: InternalsVisibleTo("Python.EmbeddingTest, PublicKey=00240000048000009400000006020000002400005253413100040000110000005ffd8f49fb44ab0641b3fd8d55e749f716e6dd901032295db641eb98ee46063cbe0d4a1d121ef0bc2af95f8a7438d7a80a3531316e6b75c2dae92fb05a99f03bf7e0c03980e1c3cfb74ba690aca2f3339ef329313bcc5dccced125a4ffdc4531dcef914602cd5878dc5fbb4d4c73ddfbc133f840231343e013762884d6143189")]
[assembly: InternalsVisibleTo("Python.Test, PublicKey=00240000048000009400000006020000002400005253413100040000110000005ffd8f49fb44ab0641b3fd8d55e749f716e6dd901032295db641eb98ee46063cbe0d4a1d121ef0bc2af95f8a7438d7a80a3531316e6b75c2dae92fb05a99f03bf7e0c03980e1c3cfb74ba690aca2f3339ef329313bcc5dccced125a4ffdc4531dcef914602cd5878dc5fbb4d4c73ddfbc133f840231343e013762884d6143189")]
-[assembly: AssemblyVersion("2.0.17")]
-[assembly: AssemblyFileVersion("2.0.17")]
+[assembly: AssemblyVersion("2.0.18")]
+[assembly: AssemblyFileVersion("2.0.18")]
diff --git a/src/runtime/Python.Runtime.csproj b/src/runtime/Python.Runtime.csproj
index dc773267a..66e815afa 100644
--- a/src/runtime/Python.Runtime.csproj
+++ b/src/runtime/Python.Runtime.csproj
@@ -5,7 +5,7 @@
Python.Runtime
Python.Runtime
QuantConnect.pythonnet
- 2.0.17
+ 2.0.18
false
LICENSE
https://github.com/pythonnet/pythonnet
diff --git a/src/runtime/Runtime.cs b/src/runtime/Runtime.cs
index effbe2935..8634b85d2 100644
--- a/src/runtime/Runtime.cs
+++ b/src/runtime/Runtime.cs
@@ -280,7 +280,6 @@ internal static void Shutdown()
ClearClrModules();
RemoveClrRootModule();
- NullGCHandles(ExtensionType.loadedExtensions);
ClassManager.RemoveClasses();
TypeManager.RemoveTypes();
_typesInitialized = false;
@@ -319,8 +318,6 @@ internal static void Shutdown()
PyEval_SaveThread();
}
- ExtensionType.loadedExtensions.Clear();
- CLRObject.reflectedObjects.Clear();
}
else
{
@@ -349,11 +346,6 @@ static bool TryCollectingGarbage(int runs, bool forceBreakLoops)
{
if (attempt + 1 == runs) return true;
}
- else if (forceBreakLoops)
- {
- NullGCHandles(CLRObject.reflectedObjects);
- CLRObject.reflectedObjects.Clear();
- }
}
return false;
}
diff --git a/src/runtime/StateSerialization/RuntimeData.cs b/src/runtime/StateSerialization/RuntimeData.cs
index 065f3718a..a60796a87 100644
--- a/src/runtime/StateSerialization/RuntimeData.cs
+++ b/src/runtime/StateSerialization/RuntimeData.cs
@@ -140,57 +140,9 @@ static bool CheckSerializable (object o)
private static SharedObjectsState SaveRuntimeDataObjects()
{
var contexts = new Dictionary>(PythonReferenceComparer.Instance);
- var extensionObjs = new Dictionary(PythonReferenceComparer.Instance);
- // make a copy with strongly typed references to avoid concurrent modification
- var extensions = ExtensionType.loadedExtensions
- .Select(addr => new PyObject(
- new BorrowedReference(addr),
- // if we don't skip collect, finalizer might modify loadedExtensions
- skipCollect: true))
- .ToArray();
- foreach (var pyObj in extensions)
- {
- var extension = (ExtensionType)ManagedType.GetManagedObject(pyObj)!;
- Debug.Assert(CheckSerializable(extension));
- var context = extension.Save(pyObj);
- if (context is not null)
- {
- contexts[pyObj] = context;
- }
- extensionObjs.Add(pyObj, extension);
- }
var wrappers = new Dictionary