diff --git a/.vs/Caching/v15/.suo b/.vs/Caching/v15/.suo
index 7b159d1..49c1939 100644
Binary files a/.vs/Caching/v15/.suo and b/.vs/Caching/v15/.suo differ
diff --git a/TestNetCore/obj/Debug/netcoreapp2.2/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/.vs/Caching/v15/Server/sqlite3/db.lock
similarity index 100%
rename from TestNetCore/obj/Debug/netcoreapp2.2/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
rename to .vs/Caching/v15/Server/sqlite3/db.lock
diff --git a/.vs/Caching/v15/Server/sqlite3/storage.ide b/.vs/Caching/v15/Server/sqlite3/storage.ide
index a6c9f36..5b77962 100644
Binary files a/.vs/Caching/v15/Server/sqlite3/storage.ide and b/.vs/Caching/v15/Server/sqlite3/storage.ide differ
diff --git a/.vs/Caching/v15/Server/sqlite3/storage.ide-shm b/.vs/Caching/v15/Server/sqlite3/storage.ide-shm
index f21e880..b6727c2 100644
Binary files a/.vs/Caching/v15/Server/sqlite3/storage.ide-shm and b/.vs/Caching/v15/Server/sqlite3/storage.ide-shm differ
diff --git a/.vs/Caching/v15/Server/sqlite3/storage.ide-wal b/.vs/Caching/v15/Server/sqlite3/storage.ide-wal
index 7f68e50..ee625ba 100644
Binary files a/.vs/Caching/v15/Server/sqlite3/storage.ide-wal and b/.vs/Caching/v15/Server/sqlite3/storage.ide-wal differ
diff --git a/Caching.sln b/Caching.sln
index 98dbb29..7b4b32b 100644
--- a/Caching.sln
+++ b/Caching.sln
@@ -3,12 +3,10 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.168
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestNetFramework", "TestNetFramework\TestNetFramework.csproj", "{A39477CC-153F-4254-9EAE-B98F2D2075A0}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{A39477CC-153F-4254-9EAE-B98F2D2075A0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Caching", "Caching\Caching.csproj", "{9B2CBDA2-B294-4858-87D4-B0B342E17D72}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestNetCore", "TestNetCore\TestNetCore.csproj", "{8DC9CED3-FEA7-436D-AB01-AB4D80FC8E19}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
diff --git a/Caching/Caching.csproj b/Caching/Caching.csproj
index 253a049..b037267 100644
--- a/Caching/Caching.csproj
+++ b/Caching/Caching.csproj
@@ -4,7 +4,7 @@
netstandard2.0;net452
true
Caching.dll
- 1.3.2
+ 1.3.3
Joel Christner
Simple C# caching library including a FIFO and LRU cache
(c)2019 Joel Christner
@@ -12,9 +12,9 @@
https://github.com/jchristn/caching
Github
https://github.com/jchristn/Caching/blob/master/LICENSE.txt
- Retarget to .NET Core 2.0 and .NET Framework 4.5.2, remove CSharpTest.Net.Collections (BTree support) due to licensing and compatibility with .NET Core 2.0
- 1.3.2.0
- 1.3.2.0
+ Contains method.
+ 1.3.3.0
+ 1.3.3.0
fifo lru cache caching least recently used first in first out simple
https://raw.githubusercontent.com/jchristn/caching/master/assets/icon.ico
diff --git a/Caching/FIFOCache.cs b/Caching/FIFOCache.cs
index 18ea7ff..fc2314f 100644
--- a/Caching/FIFOCache.cs
+++ b/Caching/FIFOCache.cs
@@ -160,6 +160,26 @@ public bool TryGet(T1 key, out T2 val)
}
}
+ ///
+ /// See if a key exists in the cache.
+ ///
+ /// The key of the cached items.
+ /// True if cached.
+ public bool Contains(T1 key)
+ {
+ if (key == null) throw new ArgumentNullException(nameof(key));
+
+ lock (_CacheLock)
+ {
+ if (_Cache.ContainsKey(key))
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
///
/// Add or replace a key's value in the cache.
///
diff --git a/Caching/LRUCache.cs b/Caching/LRUCache.cs
index f2187a9..f5db407 100644
--- a/Caching/LRUCache.cs
+++ b/Caching/LRUCache.cs
@@ -190,6 +190,26 @@ public bool TryGet(T1 key, out T2 val)
}
}
+ ///
+ /// See if a key exists in the cache.
+ ///
+ /// The key of the cached items.
+ /// True if cached.
+ public bool Contains(T1 key)
+ {
+ if (key == null) throw new ArgumentNullException(nameof(key));
+
+ lock (_CacheLock)
+ {
+ if (_Cache.ContainsKey(key))
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
///
/// Add or replace a key's value in the cache.
///
diff --git a/Caching/bin/Debug/Caching.dll.1.3.3.nupkg b/Caching/bin/Debug/Caching.dll.1.3.3.nupkg
new file mode 100644
index 0000000..4e250b4
Binary files /dev/null and b/Caching/bin/Debug/Caching.dll.1.3.3.nupkg differ
diff --git a/Caching/bin/Debug/net452/Caching.dll b/Caching/bin/Debug/net452/Caching.dll
index bfe6a56..c901b53 100644
Binary files a/Caching/bin/Debug/net452/Caching.dll and b/Caching/bin/Debug/net452/Caching.dll differ
diff --git a/Caching/bin/Debug/net452/Caching.pdb b/Caching/bin/Debug/net452/Caching.pdb
index 63ed5a1..9e87596 100644
Binary files a/Caching/bin/Debug/net452/Caching.pdb and b/Caching/bin/Debug/net452/Caching.pdb differ
diff --git a/Caching/bin/Debug/netstandard2.0/Caching.deps.json b/Caching/bin/Debug/netstandard2.0/Caching.deps.json
index 8a927f0..55f0353 100644
--- a/Caching/bin/Debug/netstandard2.0/Caching.deps.json
+++ b/Caching/bin/Debug/netstandard2.0/Caching.deps.json
@@ -7,7 +7,7 @@
"targets": {
".NETStandard,Version=v2.0": {},
".NETStandard,Version=v2.0/": {
- "Caching/1.3.2": {
+ "Caching/1.3.3": {
"dependencies": {
"Microsoft.CSharp": "4.5.0",
"NETStandard.Library": "2.0.3"
@@ -33,7 +33,7 @@
}
},
"libraries": {
- "Caching/1.3.2": {
+ "Caching/1.3.3": {
"type": "project",
"serviceable": false,
"sha512": ""
diff --git a/Caching/bin/Debug/netstandard2.0/Caching.dll b/Caching/bin/Debug/netstandard2.0/Caching.dll
index 44a3c80..77391c2 100644
Binary files a/Caching/bin/Debug/netstandard2.0/Caching.dll and b/Caching/bin/Debug/netstandard2.0/Caching.dll differ
diff --git a/Caching/bin/Debug/netstandard2.0/Caching.pdb b/Caching/bin/Debug/netstandard2.0/Caching.pdb
index a72867e..85f9200 100644
Binary files a/Caching/bin/Debug/netstandard2.0/Caching.pdb and b/Caching/bin/Debug/netstandard2.0/Caching.pdb differ
diff --git a/Caching/bin/Release/Caching.dll.1.3.3.nupkg b/Caching/bin/Release/Caching.dll.1.3.3.nupkg
new file mode 100644
index 0000000..0fe8764
Binary files /dev/null and b/Caching/bin/Release/Caching.dll.1.3.3.nupkg differ
diff --git a/Caching/bin/Release/net452/Caching.dll b/Caching/bin/Release/net452/Caching.dll
index 594b69e..924eaf2 100644
Binary files a/Caching/bin/Release/net452/Caching.dll and b/Caching/bin/Release/net452/Caching.dll differ
diff --git a/Caching/bin/Release/net452/Caching.pdb b/Caching/bin/Release/net452/Caching.pdb
index 498d70c..9fd9375 100644
Binary files a/Caching/bin/Release/net452/Caching.pdb and b/Caching/bin/Release/net452/Caching.pdb differ
diff --git a/Caching/bin/Release/netstandard2.0/Caching.deps.json b/Caching/bin/Release/netstandard2.0/Caching.deps.json
index 8a927f0..55f0353 100644
--- a/Caching/bin/Release/netstandard2.0/Caching.deps.json
+++ b/Caching/bin/Release/netstandard2.0/Caching.deps.json
@@ -7,7 +7,7 @@
"targets": {
".NETStandard,Version=v2.0": {},
".NETStandard,Version=v2.0/": {
- "Caching/1.3.2": {
+ "Caching/1.3.3": {
"dependencies": {
"Microsoft.CSharp": "4.5.0",
"NETStandard.Library": "2.0.3"
@@ -33,7 +33,7 @@
}
},
"libraries": {
- "Caching/1.3.2": {
+ "Caching/1.3.3": {
"type": "project",
"serviceable": false,
"sha512": ""
diff --git a/Caching/bin/Release/netstandard2.0/Caching.dll b/Caching/bin/Release/netstandard2.0/Caching.dll
index 7454fae..88c5069 100644
Binary files a/Caching/bin/Release/netstandard2.0/Caching.dll and b/Caching/bin/Release/netstandard2.0/Caching.dll differ
diff --git a/Caching/bin/Release/netstandard2.0/Caching.pdb b/Caching/bin/Release/netstandard2.0/Caching.pdb
index 87d099d..7817fc2 100644
Binary files a/Caching/bin/Release/netstandard2.0/Caching.pdb and b/Caching/bin/Release/netstandard2.0/Caching.pdb differ
diff --git a/Caching/obj/Caching.csproj.nuget.cache b/Caching/obj/Caching.csproj.nuget.cache
index a9836f5..64b4bd6 100644
--- a/Caching/obj/Caching.csproj.nuget.cache
+++ b/Caching/obj/Caching.csproj.nuget.cache
@@ -1,5 +1,5 @@
{
"version": 1,
- "dgSpecHash": "LPl2LtfQC2I5WAK1S6m0NcXmBy9pBqVY8II6peX3mztN4KIo71W+9IC8A19njzr+3vuWSLVOwF56DPILqCHnJQ==",
+ "dgSpecHash": "qInDQjKSw4pg1mCiKoTgjXMMsH1bD8F3dhjAv+OD65PYxK1IC09Xpe9KX/XhG4RapD4M6dXWVAOx8x5Hqx5XfA==",
"success": true
}
\ No newline at end of file
diff --git a/Caching/obj/Debug/Caching.dll.1.3.3.nuspec b/Caching/obj/Debug/Caching.dll.1.3.3.nuspec
new file mode 100644
index 0000000..156c469
--- /dev/null
+++ b/Caching/obj/Debug/Caching.dll.1.3.3.nuspec
@@ -0,0 +1,30 @@
+
+
+
+ Caching.dll
+ 1.3.3
+ Joel Christner
+ Joel Christner
+ false
+ https://github.com/jchristn/Caching/blob/master/LICENSE.txt
+ https://github.com/jchristn/caching
+ https://raw.githubusercontent.com/jchristn/caching/master/assets/icon.ico
+ Simple C# caching library including a FIFO and LRU cache
+ Contains method.
+ (c)2019 Joel Christner
+ fifo lru cache caching least recently used first in first out simple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Caching/obj/Debug/net452/Caching.AssemblyInfo.cs b/Caching/obj/Debug/net452/Caching.AssemblyInfo.cs
index 73591c6..21a1180 100644
--- a/Caching/obj/Debug/net452/Caching.AssemblyInfo.cs
+++ b/Caching/obj/Debug/net452/Caching.AssemblyInfo.cs
@@ -15,11 +15,11 @@
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyCopyrightAttribute("(c)2019 Joel Christner")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Simple C# caching library including a FIFO and LRU cache")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("1.3.2.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.3.2")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.3.3.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.3.3")]
[assembly: System.Reflection.AssemblyProductAttribute("Caching")]
[assembly: System.Reflection.AssemblyTitleAttribute("Caching")]
-[assembly: System.Reflection.AssemblyVersionAttribute("1.3.2.0")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.3.3.0")]
// Generated by the MSBuild WriteCodeFragment class.
diff --git a/Caching/obj/Debug/net452/Caching.AssemblyInfoInputs.cache b/Caching/obj/Debug/net452/Caching.AssemblyInfoInputs.cache
index e154f01..c88e845 100644
--- a/Caching/obj/Debug/net452/Caching.AssemblyInfoInputs.cache
+++ b/Caching/obj/Debug/net452/Caching.AssemblyInfoInputs.cache
@@ -1 +1 @@
-9fa7603a987232e2bf1212aa8efb989048d747b8
+e0fa7fa5aad3e063f385ff2bfb5c83b2424d8c1c
diff --git a/Caching/obj/Debug/net452/Caching.dll b/Caching/obj/Debug/net452/Caching.dll
index bfe6a56..c901b53 100644
Binary files a/Caching/obj/Debug/net452/Caching.dll and b/Caching/obj/Debug/net452/Caching.dll differ
diff --git a/Caching/obj/Debug/net452/Caching.pdb b/Caching/obj/Debug/net452/Caching.pdb
index 63ed5a1..9e87596 100644
Binary files a/Caching/obj/Debug/net452/Caching.pdb and b/Caching/obj/Debug/net452/Caching.pdb differ
diff --git a/Caching/obj/Debug/netstandard2.0/Caching.AssemblyInfo.cs b/Caching/obj/Debug/netstandard2.0/Caching.AssemblyInfo.cs
index 73591c6..21a1180 100644
--- a/Caching/obj/Debug/netstandard2.0/Caching.AssemblyInfo.cs
+++ b/Caching/obj/Debug/netstandard2.0/Caching.AssemblyInfo.cs
@@ -15,11 +15,11 @@
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyCopyrightAttribute("(c)2019 Joel Christner")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Simple C# caching library including a FIFO and LRU cache")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("1.3.2.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.3.2")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.3.3.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.3.3")]
[assembly: System.Reflection.AssemblyProductAttribute("Caching")]
[assembly: System.Reflection.AssemblyTitleAttribute("Caching")]
-[assembly: System.Reflection.AssemblyVersionAttribute("1.3.2.0")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.3.3.0")]
// Generated by the MSBuild WriteCodeFragment class.
diff --git a/Caching/obj/Debug/netstandard2.0/Caching.AssemblyInfoInputs.cache b/Caching/obj/Debug/netstandard2.0/Caching.AssemblyInfoInputs.cache
index e154f01..c88e845 100644
--- a/Caching/obj/Debug/netstandard2.0/Caching.AssemblyInfoInputs.cache
+++ b/Caching/obj/Debug/netstandard2.0/Caching.AssemblyInfoInputs.cache
@@ -1 +1 @@
-9fa7603a987232e2bf1212aa8efb989048d747b8
+e0fa7fa5aad3e063f385ff2bfb5c83b2424d8c1c
diff --git a/Caching/obj/Debug/netstandard2.0/Caching.csprojAssemblyReference.cache b/Caching/obj/Debug/netstandard2.0/Caching.csprojAssemblyReference.cache
index e4ac3dd..9b48986 100644
Binary files a/Caching/obj/Debug/netstandard2.0/Caching.csprojAssemblyReference.cache and b/Caching/obj/Debug/netstandard2.0/Caching.csprojAssemblyReference.cache differ
diff --git a/Caching/obj/Debug/netstandard2.0/Caching.dll b/Caching/obj/Debug/netstandard2.0/Caching.dll
index 44a3c80..77391c2 100644
Binary files a/Caching/obj/Debug/netstandard2.0/Caching.dll and b/Caching/obj/Debug/netstandard2.0/Caching.dll differ
diff --git a/Caching/obj/Debug/netstandard2.0/Caching.pdb b/Caching/obj/Debug/netstandard2.0/Caching.pdb
index a72867e..85f9200 100644
Binary files a/Caching/obj/Debug/netstandard2.0/Caching.pdb and b/Caching/obj/Debug/netstandard2.0/Caching.pdb differ
diff --git a/Caching/obj/Release/Caching.dll.1.3.3.nuspec b/Caching/obj/Release/Caching.dll.1.3.3.nuspec
new file mode 100644
index 0000000..f7ae897
--- /dev/null
+++ b/Caching/obj/Release/Caching.dll.1.3.3.nuspec
@@ -0,0 +1,30 @@
+
+
+
+ Caching.dll
+ 1.3.3
+ Joel Christner
+ Joel Christner
+ false
+ https://github.com/jchristn/Caching/blob/master/LICENSE.txt
+ https://github.com/jchristn/caching
+ https://raw.githubusercontent.com/jchristn/caching/master/assets/icon.ico
+ Simple C# caching library including a FIFO and LRU cache
+ Contains method.
+ (c)2019 Joel Christner
+ fifo lru cache caching least recently used first in first out simple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Caching/obj/Release/net452/Caching.AssemblyInfo.cs b/Caching/obj/Release/net452/Caching.AssemblyInfo.cs
index f4106e8..06418a2 100644
--- a/Caching/obj/Release/net452/Caching.AssemblyInfo.cs
+++ b/Caching/obj/Release/net452/Caching.AssemblyInfo.cs
@@ -15,11 +15,11 @@
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyCopyrightAttribute("(c)2019 Joel Christner")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Simple C# caching library including a FIFO and LRU cache")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("1.3.2.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.3.2")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.3.3.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.3.3")]
[assembly: System.Reflection.AssemblyProductAttribute("Caching")]
[assembly: System.Reflection.AssemblyTitleAttribute("Caching")]
-[assembly: System.Reflection.AssemblyVersionAttribute("1.3.2.0")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.3.3.0")]
// Generated by the MSBuild WriteCodeFragment class.
diff --git a/Caching/obj/Release/net452/Caching.AssemblyInfoInputs.cache b/Caching/obj/Release/net452/Caching.AssemblyInfoInputs.cache
index 03342eb..bc42995 100644
--- a/Caching/obj/Release/net452/Caching.AssemblyInfoInputs.cache
+++ b/Caching/obj/Release/net452/Caching.AssemblyInfoInputs.cache
@@ -1 +1 @@
-46c00f1cd12ad65dc41359862ba00a6bcceacf5c
+cfe3f8df5a97b7ef41120950e4cae66b54c361da
diff --git a/Caching/obj/Release/net452/Caching.dll b/Caching/obj/Release/net452/Caching.dll
index 594b69e..924eaf2 100644
Binary files a/Caching/obj/Release/net452/Caching.dll and b/Caching/obj/Release/net452/Caching.dll differ
diff --git a/Caching/obj/Release/net452/Caching.pdb b/Caching/obj/Release/net452/Caching.pdb
index 498d70c..9fd9375 100644
Binary files a/Caching/obj/Release/net452/Caching.pdb and b/Caching/obj/Release/net452/Caching.pdb differ
diff --git a/Caching/obj/Release/netstandard2.0/Caching.AssemblyInfo.cs b/Caching/obj/Release/netstandard2.0/Caching.AssemblyInfo.cs
index f4106e8..06418a2 100644
--- a/Caching/obj/Release/netstandard2.0/Caching.AssemblyInfo.cs
+++ b/Caching/obj/Release/netstandard2.0/Caching.AssemblyInfo.cs
@@ -15,11 +15,11 @@
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyCopyrightAttribute("(c)2019 Joel Christner")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Simple C# caching library including a FIFO and LRU cache")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("1.3.2.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.3.2")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.3.3.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.3.3")]
[assembly: System.Reflection.AssemblyProductAttribute("Caching")]
[assembly: System.Reflection.AssemblyTitleAttribute("Caching")]
-[assembly: System.Reflection.AssemblyVersionAttribute("1.3.2.0")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.3.3.0")]
// Generated by the MSBuild WriteCodeFragment class.
diff --git a/Caching/obj/Release/netstandard2.0/Caching.AssemblyInfoInputs.cache b/Caching/obj/Release/netstandard2.0/Caching.AssemblyInfoInputs.cache
index 03342eb..bc42995 100644
--- a/Caching/obj/Release/netstandard2.0/Caching.AssemblyInfoInputs.cache
+++ b/Caching/obj/Release/netstandard2.0/Caching.AssemblyInfoInputs.cache
@@ -1 +1 @@
-46c00f1cd12ad65dc41359862ba00a6bcceacf5c
+cfe3f8df5a97b7ef41120950e4cae66b54c361da
diff --git a/Caching/obj/Release/netstandard2.0/Caching.dll b/Caching/obj/Release/netstandard2.0/Caching.dll
index 7454fae..88c5069 100644
Binary files a/Caching/obj/Release/netstandard2.0/Caching.dll and b/Caching/obj/Release/netstandard2.0/Caching.dll differ
diff --git a/Caching/obj/Release/netstandard2.0/Caching.pdb b/Caching/obj/Release/netstandard2.0/Caching.pdb
index 87d099d..7817fc2 100644
Binary files a/Caching/obj/Release/netstandard2.0/Caching.pdb and b/Caching/obj/Release/netstandard2.0/Caching.pdb differ
diff --git a/Caching/obj/project.assets.json b/Caching/obj/project.assets.json
index dc78074..bc4a179 100644
--- a/Caching/obj/project.assets.json
+++ b/Caching/obj/project.assets.json
@@ -278,7 +278,7 @@
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
},
"project": {
- "version": "1.3.2",
+ "version": "1.3.3",
"restore": {
"projectUniqueName": "C:\\Code\\Misc\\Caching\\Caching\\Caching.csproj",
"projectName": "Caching.dll",
diff --git a/TestNetCore/Program.FIFOCacheTest.cs b/Test/Program.FIFOCacheTest.cs
similarity index 100%
rename from TestNetCore/Program.FIFOCacheTest.cs
rename to Test/Program.FIFOCacheTest.cs
diff --git a/TestNetCore/Program.LRUCacheTest.cs b/Test/Program.LRUCacheTest.cs
similarity index 100%
rename from TestNetCore/Program.LRUCacheTest.cs
rename to Test/Program.LRUCacheTest.cs
diff --git a/TestNetCore/Program.Utilities.cs b/Test/Program.Utilities.cs
similarity index 100%
rename from TestNetCore/Program.Utilities.cs
rename to Test/Program.Utilities.cs
diff --git a/TestNetCore/Program.cs b/Test/Program.cs
similarity index 100%
rename from TestNetCore/Program.cs
rename to Test/Program.cs
diff --git a/TestNetCore/TestNetCore.csproj b/Test/Test.csproj
similarity index 77%
rename from TestNetCore/TestNetCore.csproj
rename to Test/Test.csproj
index 03fb0ea..d2c0a5d 100644
--- a/TestNetCore/TestNetCore.csproj
+++ b/Test/Test.csproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp2.2
+ netcoreapp2.2;net452
diff --git a/Test/bin/Debug/net452/Caching.dll b/Test/bin/Debug/net452/Caching.dll
new file mode 100644
index 0000000..c901b53
Binary files /dev/null and b/Test/bin/Debug/net452/Caching.dll differ
diff --git a/Test/bin/Debug/net452/Caching.pdb b/Test/bin/Debug/net452/Caching.pdb
new file mode 100644
index 0000000..9e87596
Binary files /dev/null and b/Test/bin/Debug/net452/Caching.pdb differ
diff --git a/Test/bin/Debug/net452/Test.exe b/Test/bin/Debug/net452/Test.exe
new file mode 100644
index 0000000..84c147f
Binary files /dev/null and b/Test/bin/Debug/net452/Test.exe differ
diff --git a/Test/bin/Debug/net452/Test.exe.config b/Test/bin/Debug/net452/Test.exe.config
new file mode 100644
index 0000000..64b249e
--- /dev/null
+++ b/Test/bin/Debug/net452/Test.exe.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Test/bin/Debug/net452/Test.pdb b/Test/bin/Debug/net452/Test.pdb
new file mode 100644
index 0000000..4e68904
Binary files /dev/null and b/Test/bin/Debug/net452/Test.pdb differ
diff --git a/Test/bin/Debug/netcoreapp2.2/Caching.dll b/Test/bin/Debug/netcoreapp2.2/Caching.dll
new file mode 100644
index 0000000..77391c2
Binary files /dev/null and b/Test/bin/Debug/netcoreapp2.2/Caching.dll differ
diff --git a/Test/bin/Debug/netcoreapp2.2/Caching.pdb b/Test/bin/Debug/netcoreapp2.2/Caching.pdb
new file mode 100644
index 0000000..85f9200
Binary files /dev/null and b/Test/bin/Debug/netcoreapp2.2/Caching.pdb differ
diff --git a/Test/bin/Debug/netcoreapp2.2/Test.deps.json b/Test/bin/Debug/netcoreapp2.2/Test.deps.json
new file mode 100644
index 0000000..9e21acc
--- /dev/null
+++ b/Test/bin/Debug/netcoreapp2.2/Test.deps.json
@@ -0,0 +1,47 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v2.2",
+ "signature": "ddfaeae436e140dd5647a8209cb2004484674069"
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v2.2": {
+ "Test/1.0.0": {
+ "dependencies": {
+ "Caching.dll": "1.3.3"
+ },
+ "runtime": {
+ "Test.dll": {}
+ }
+ },
+ "Microsoft.CSharp/4.5.0": {},
+ "Caching.dll/1.3.3": {
+ "dependencies": {
+ "Microsoft.CSharp": "4.5.0"
+ },
+ "runtime": {
+ "Caching.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Test/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Microsoft.CSharp/4.5.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==",
+ "path": "microsoft.csharp/4.5.0",
+ "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512"
+ },
+ "Caching.dll/1.3.3": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/Test/bin/Debug/netcoreapp2.2/Test.dll b/Test/bin/Debug/netcoreapp2.2/Test.dll
new file mode 100644
index 0000000..f62a3c2
Binary files /dev/null and b/Test/bin/Debug/netcoreapp2.2/Test.dll differ
diff --git a/Test/bin/Debug/netcoreapp2.2/Test.pdb b/Test/bin/Debug/netcoreapp2.2/Test.pdb
new file mode 100644
index 0000000..5696cc9
Binary files /dev/null and b/Test/bin/Debug/netcoreapp2.2/Test.pdb differ
diff --git a/TestNetCore/bin/Debug/netcoreapp2.2/TestNetCore.runtimeconfig.dev.json b/Test/bin/Debug/netcoreapp2.2/Test.runtimeconfig.dev.json
similarity index 100%
rename from TestNetCore/bin/Debug/netcoreapp2.2/TestNetCore.runtimeconfig.dev.json
rename to Test/bin/Debug/netcoreapp2.2/Test.runtimeconfig.dev.json
diff --git a/TestNetCore/bin/Debug/netcoreapp2.2/TestNetCore.runtimeconfig.json b/Test/bin/Debug/netcoreapp2.2/Test.runtimeconfig.json
similarity index 100%
rename from TestNetCore/bin/Debug/netcoreapp2.2/TestNetCore.runtimeconfig.json
rename to Test/bin/Debug/netcoreapp2.2/Test.runtimeconfig.json
diff --git a/TestNetCore/bin/Debug/netcoreapp2.2/TestNetCore.deps.json b/Test/bin/Debug/netcoreapp2.2/TestNetCore.deps.json
similarity index 100%
rename from TestNetCore/bin/Debug/netcoreapp2.2/TestNetCore.deps.json
rename to Test/bin/Debug/netcoreapp2.2/TestNetCore.deps.json
diff --git a/TestNetCore/bin/Debug/netcoreapp2.2/TestNetCore.dll b/Test/bin/Debug/netcoreapp2.2/TestNetCore.dll
similarity index 100%
rename from TestNetCore/bin/Debug/netcoreapp2.2/TestNetCore.dll
rename to Test/bin/Debug/netcoreapp2.2/TestNetCore.dll
diff --git a/TestNetCore/bin/Debug/netcoreapp2.2/TestNetCore.pdb b/Test/bin/Debug/netcoreapp2.2/TestNetCore.pdb
similarity index 100%
rename from TestNetCore/bin/Debug/netcoreapp2.2/TestNetCore.pdb
rename to Test/bin/Debug/netcoreapp2.2/TestNetCore.pdb
diff --git a/TestNetCore/bin/Release/netcoreapp2.2/TestNetCore.runtimeconfig.dev.json b/Test/bin/Debug/netcoreapp2.2/TestNetCore.runtimeconfig.dev.json
similarity index 100%
rename from TestNetCore/bin/Release/netcoreapp2.2/TestNetCore.runtimeconfig.dev.json
rename to Test/bin/Debug/netcoreapp2.2/TestNetCore.runtimeconfig.dev.json
diff --git a/TestNetCore/bin/Release/netcoreapp2.2/TestNetCore.runtimeconfig.json b/Test/bin/Debug/netcoreapp2.2/TestNetCore.runtimeconfig.json
similarity index 100%
rename from TestNetCore/bin/Release/netcoreapp2.2/TestNetCore.runtimeconfig.json
rename to Test/bin/Debug/netcoreapp2.2/TestNetCore.runtimeconfig.json
diff --git a/Test/bin/Release/net452/Caching.dll b/Test/bin/Release/net452/Caching.dll
new file mode 100644
index 0000000..924eaf2
Binary files /dev/null and b/Test/bin/Release/net452/Caching.dll differ
diff --git a/Test/bin/Release/net452/Caching.pdb b/Test/bin/Release/net452/Caching.pdb
new file mode 100644
index 0000000..9fd9375
Binary files /dev/null and b/Test/bin/Release/net452/Caching.pdb differ
diff --git a/Test/bin/Release/net452/Test.exe b/Test/bin/Release/net452/Test.exe
new file mode 100644
index 0000000..33ec675
Binary files /dev/null and b/Test/bin/Release/net452/Test.exe differ
diff --git a/Test/bin/Release/net452/Test.exe.config b/Test/bin/Release/net452/Test.exe.config
new file mode 100644
index 0000000..64b249e
--- /dev/null
+++ b/Test/bin/Release/net452/Test.exe.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Test/bin/Release/net452/Test.pdb b/Test/bin/Release/net452/Test.pdb
new file mode 100644
index 0000000..d2f5b4e
Binary files /dev/null and b/Test/bin/Release/net452/Test.pdb differ
diff --git a/Test/bin/Release/netcoreapp2.2/Caching.dll b/Test/bin/Release/netcoreapp2.2/Caching.dll
new file mode 100644
index 0000000..88c5069
Binary files /dev/null and b/Test/bin/Release/netcoreapp2.2/Caching.dll differ
diff --git a/Test/bin/Release/netcoreapp2.2/Caching.pdb b/Test/bin/Release/netcoreapp2.2/Caching.pdb
new file mode 100644
index 0000000..7817fc2
Binary files /dev/null and b/Test/bin/Release/netcoreapp2.2/Caching.pdb differ
diff --git a/Test/bin/Release/netcoreapp2.2/Test.deps.json b/Test/bin/Release/netcoreapp2.2/Test.deps.json
new file mode 100644
index 0000000..9e21acc
--- /dev/null
+++ b/Test/bin/Release/netcoreapp2.2/Test.deps.json
@@ -0,0 +1,47 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v2.2",
+ "signature": "ddfaeae436e140dd5647a8209cb2004484674069"
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v2.2": {
+ "Test/1.0.0": {
+ "dependencies": {
+ "Caching.dll": "1.3.3"
+ },
+ "runtime": {
+ "Test.dll": {}
+ }
+ },
+ "Microsoft.CSharp/4.5.0": {},
+ "Caching.dll/1.3.3": {
+ "dependencies": {
+ "Microsoft.CSharp": "4.5.0"
+ },
+ "runtime": {
+ "Caching.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Test/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Microsoft.CSharp/4.5.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==",
+ "path": "microsoft.csharp/4.5.0",
+ "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512"
+ },
+ "Caching.dll/1.3.3": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/Test/bin/Release/netcoreapp2.2/Test.dll b/Test/bin/Release/netcoreapp2.2/Test.dll
new file mode 100644
index 0000000..d982aa7
Binary files /dev/null and b/Test/bin/Release/netcoreapp2.2/Test.dll differ
diff --git a/Test/bin/Release/netcoreapp2.2/Test.pdb b/Test/bin/Release/netcoreapp2.2/Test.pdb
new file mode 100644
index 0000000..dfb93f7
Binary files /dev/null and b/Test/bin/Release/netcoreapp2.2/Test.pdb differ
diff --git a/Test/bin/Release/netcoreapp2.2/Test.runtimeconfig.dev.json b/Test/bin/Release/netcoreapp2.2/Test.runtimeconfig.dev.json
new file mode 100644
index 0000000..b720424
--- /dev/null
+++ b/Test/bin/Release/netcoreapp2.2/Test.runtimeconfig.dev.json
@@ -0,0 +1,9 @@
+{
+ "runtimeOptions": {
+ "additionalProbingPaths": [
+ "C:\\Users\\joelc\\.dotnet\\store\\|arch|\\|tfm|",
+ "C:\\Users\\joelc\\.nuget\\packages",
+ "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/Test/bin/Release/netcoreapp2.2/Test.runtimeconfig.json b/Test/bin/Release/netcoreapp2.2/Test.runtimeconfig.json
new file mode 100644
index 0000000..49dbda4
--- /dev/null
+++ b/Test/bin/Release/netcoreapp2.2/Test.runtimeconfig.json
@@ -0,0 +1,9 @@
+{
+ "runtimeOptions": {
+ "tfm": "netcoreapp2.2",
+ "framework": {
+ "name": "Microsoft.NETCore.App",
+ "version": "2.2.0"
+ }
+ }
+}
\ No newline at end of file
diff --git a/TestNetCore/bin/Release/netcoreapp2.2/TestNetCore.deps.json b/Test/bin/Release/netcoreapp2.2/TestNetCore.deps.json
similarity index 100%
rename from TestNetCore/bin/Release/netcoreapp2.2/TestNetCore.deps.json
rename to Test/bin/Release/netcoreapp2.2/TestNetCore.deps.json
diff --git a/TestNetCore/bin/Release/netcoreapp2.2/TestNetCore.dll b/Test/bin/Release/netcoreapp2.2/TestNetCore.dll
similarity index 100%
rename from TestNetCore/bin/Release/netcoreapp2.2/TestNetCore.dll
rename to Test/bin/Release/netcoreapp2.2/TestNetCore.dll
diff --git a/TestNetCore/bin/Release/netcoreapp2.2/TestNetCore.pdb b/Test/bin/Release/netcoreapp2.2/TestNetCore.pdb
similarity index 100%
rename from TestNetCore/bin/Release/netcoreapp2.2/TestNetCore.pdb
rename to Test/bin/Release/netcoreapp2.2/TestNetCore.pdb
diff --git a/Test/bin/Release/netcoreapp2.2/TestNetCore.runtimeconfig.dev.json b/Test/bin/Release/netcoreapp2.2/TestNetCore.runtimeconfig.dev.json
new file mode 100644
index 0000000..b720424
--- /dev/null
+++ b/Test/bin/Release/netcoreapp2.2/TestNetCore.runtimeconfig.dev.json
@@ -0,0 +1,9 @@
+{
+ "runtimeOptions": {
+ "additionalProbingPaths": [
+ "C:\\Users\\joelc\\.dotnet\\store\\|arch|\\|tfm|",
+ "C:\\Users\\joelc\\.nuget\\packages",
+ "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/Test/bin/Release/netcoreapp2.2/TestNetCore.runtimeconfig.json b/Test/bin/Release/netcoreapp2.2/TestNetCore.runtimeconfig.json
new file mode 100644
index 0000000..49dbda4
--- /dev/null
+++ b/Test/bin/Release/netcoreapp2.2/TestNetCore.runtimeconfig.json
@@ -0,0 +1,9 @@
+{
+ "runtimeOptions": {
+ "tfm": "netcoreapp2.2",
+ "framework": {
+ "name": "Microsoft.NETCore.App",
+ "version": "2.2.0"
+ }
+ }
+}
\ No newline at end of file
diff --git a/TestNetCore/obj/Release/netcoreapp2.2/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Test/obj/Debug/net452/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
similarity index 100%
rename from TestNetCore/obj/Release/netcoreapp2.2/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
rename to Test/obj/Debug/net452/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
diff --git a/TestNetCore/obj/Debug/netcoreapp2.2/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Test/obj/Debug/net452/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
similarity index 100%
rename from TestNetCore/obj/Debug/netcoreapp2.2/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
rename to Test/obj/Debug/net452/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
diff --git a/TestNetCore/obj/Debug/netcoreapp2.2/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Test/obj/Debug/net452/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
similarity index 100%
rename from TestNetCore/obj/Debug/netcoreapp2.2/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
rename to Test/obj/Debug/net452/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
diff --git a/Test/obj/Debug/net452/Test.AssemblyInfo.cs b/Test/obj/Debug/net452/Test.AssemblyInfo.cs
new file mode 100644
index 0000000..6414acb
--- /dev/null
+++ b/Test/obj/Debug/net452/Test.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Test")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyProductAttribute("Test")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Test")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/Test/obj/Debug/net452/Test.AssemblyInfoInputs.cache b/Test/obj/Debug/net452/Test.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..98c65ce
--- /dev/null
+++ b/Test/obj/Debug/net452/Test.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+f6533ec0c338906e0f581238a326c04606b3059f
diff --git a/Test/obj/Debug/net452/Test.assets.cache b/Test/obj/Debug/net452/Test.assets.cache
new file mode 100644
index 0000000..14822db
Binary files /dev/null and b/Test/obj/Debug/net452/Test.assets.cache differ
diff --git a/TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.csproj.CopyComplete b/Test/obj/Debug/net452/Test.csproj.CopyComplete
similarity index 100%
rename from TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.csproj.CopyComplete
rename to Test/obj/Debug/net452/Test.csproj.CopyComplete
diff --git a/Test/obj/Debug/net452/Test.csproj.CoreCompileInputs.cache b/Test/obj/Debug/net452/Test.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..49be7a3
--- /dev/null
+++ b/Test/obj/Debug/net452/Test.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+b747bb15f87cdb2c5ddc0cc39603c55ac848fcdb
diff --git a/Test/obj/Debug/net452/Test.csproj.FileListAbsolute.txt b/Test/obj/Debug/net452/Test.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..67b7fe8
--- /dev/null
+++ b/Test/obj/Debug/net452/Test.csproj.FileListAbsolute.txt
@@ -0,0 +1,12 @@
+C:\Code\Misc\Caching\Test\bin\Debug\net452\Test.exe.config
+C:\Code\Misc\Caching\Test\bin\Debug\net452\Test.exe
+C:\Code\Misc\Caching\Test\bin\Debug\net452\Test.pdb
+C:\Code\Misc\Caching\Test\bin\Debug\net452\Caching.dll
+C:\Code\Misc\Caching\Test\bin\Debug\net452\Caching.pdb
+C:\Code\Misc\Caching\Test\obj\Debug\net452\Test.csprojAssemblyReference.cache
+C:\Code\Misc\Caching\Test\obj\Debug\net452\Test.csproj.CoreCompileInputs.cache
+C:\Code\Misc\Caching\Test\obj\Debug\net452\Test.AssemblyInfoInputs.cache
+C:\Code\Misc\Caching\Test\obj\Debug\net452\Test.AssemblyInfo.cs
+C:\Code\Misc\Caching\Test\obj\Debug\net452\Test.csproj.CopyComplete
+C:\Code\Misc\Caching\Test\obj\Debug\net452\Test.exe
+C:\Code\Misc\Caching\Test\obj\Debug\net452\Test.pdb
diff --git a/TestNetFramework/obj/Debug/TestNetFramework.csprojAssemblyReference.cache b/Test/obj/Debug/net452/Test.csprojAssemblyReference.cache
similarity index 53%
rename from TestNetFramework/obj/Debug/TestNetFramework.csprojAssemblyReference.cache
rename to Test/obj/Debug/net452/Test.csprojAssemblyReference.cache
index 5b7714d..888ff54 100644
Binary files a/TestNetFramework/obj/Debug/TestNetFramework.csprojAssemblyReference.cache and b/Test/obj/Debug/net452/Test.csprojAssemblyReference.cache differ
diff --git a/Test/obj/Debug/net452/Test.exe b/Test/obj/Debug/net452/Test.exe
new file mode 100644
index 0000000..84c147f
Binary files /dev/null and b/Test/obj/Debug/net452/Test.exe differ
diff --git a/Test/obj/Debug/net452/Test.exe.withSupportedRuntime.config b/Test/obj/Debug/net452/Test.exe.withSupportedRuntime.config
new file mode 100644
index 0000000..64b249e
--- /dev/null
+++ b/Test/obj/Debug/net452/Test.exe.withSupportedRuntime.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Test/obj/Debug/net452/Test.pdb b/Test/obj/Debug/net452/Test.pdb
new file mode 100644
index 0000000..4e68904
Binary files /dev/null and b/Test/obj/Debug/net452/Test.pdb differ
diff --git a/TestNetFramework/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Test/obj/Debug/netcoreapp2.2/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
similarity index 100%
rename from TestNetFramework/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
rename to Test/obj/Debug/netcoreapp2.2/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
diff --git a/TestNetCore/obj/Release/netcoreapp2.2/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Test/obj/Debug/netcoreapp2.2/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
similarity index 100%
rename from TestNetCore/obj/Release/netcoreapp2.2/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
rename to Test/obj/Debug/netcoreapp2.2/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
diff --git a/TestNetCore/obj/Release/netcoreapp2.2/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Test/obj/Debug/netcoreapp2.2/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
similarity index 100%
rename from TestNetCore/obj/Release/netcoreapp2.2/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
rename to Test/obj/Debug/netcoreapp2.2/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
diff --git a/Test/obj/Debug/netcoreapp2.2/Test.AssemblyInfo.cs b/Test/obj/Debug/netcoreapp2.2/Test.AssemblyInfo.cs
new file mode 100644
index 0000000..6414acb
--- /dev/null
+++ b/Test/obj/Debug/netcoreapp2.2/Test.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Test")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyProductAttribute("Test")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Test")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/Test/obj/Debug/netcoreapp2.2/Test.AssemblyInfoInputs.cache b/Test/obj/Debug/netcoreapp2.2/Test.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..98c65ce
--- /dev/null
+++ b/Test/obj/Debug/netcoreapp2.2/Test.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+f6533ec0c338906e0f581238a326c04606b3059f
diff --git a/Test/obj/Debug/netcoreapp2.2/Test.assets.cache b/Test/obj/Debug/netcoreapp2.2/Test.assets.cache
new file mode 100644
index 0000000..4716f84
Binary files /dev/null and b/Test/obj/Debug/netcoreapp2.2/Test.assets.cache differ
diff --git a/TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.csproj.CopyComplete b/Test/obj/Debug/netcoreapp2.2/Test.csproj.CopyComplete
similarity index 100%
rename from TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.csproj.CopyComplete
rename to Test/obj/Debug/netcoreapp2.2/Test.csproj.CopyComplete
diff --git a/TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.csproj.CoreCompileInputs.cache b/Test/obj/Debug/netcoreapp2.2/Test.csproj.CoreCompileInputs.cache
similarity index 100%
rename from TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.csproj.CoreCompileInputs.cache
rename to Test/obj/Debug/netcoreapp2.2/Test.csproj.CoreCompileInputs.cache
diff --git a/Test/obj/Debug/netcoreapp2.2/Test.csproj.FileListAbsolute.txt b/Test/obj/Debug/netcoreapp2.2/Test.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..e184358
--- /dev/null
+++ b/Test/obj/Debug/netcoreapp2.2/Test.csproj.FileListAbsolute.txt
@@ -0,0 +1,14 @@
+C:\Code\Misc\Caching\Test\bin\Debug\netcoreapp2.2\Test.deps.json
+C:\Code\Misc\Caching\Test\bin\Debug\netcoreapp2.2\Test.runtimeconfig.json
+C:\Code\Misc\Caching\Test\bin\Debug\netcoreapp2.2\Test.runtimeconfig.dev.json
+C:\Code\Misc\Caching\Test\bin\Debug\netcoreapp2.2\Test.dll
+C:\Code\Misc\Caching\Test\bin\Debug\netcoreapp2.2\Test.pdb
+C:\Code\Misc\Caching\Test\bin\Debug\netcoreapp2.2\Caching.dll
+C:\Code\Misc\Caching\Test\bin\Debug\netcoreapp2.2\Caching.pdb
+C:\Code\Misc\Caching\Test\obj\Debug\netcoreapp2.2\Test.csprojAssemblyReference.cache
+C:\Code\Misc\Caching\Test\obj\Debug\netcoreapp2.2\Test.csproj.CoreCompileInputs.cache
+C:\Code\Misc\Caching\Test\obj\Debug\netcoreapp2.2\Test.AssemblyInfoInputs.cache
+C:\Code\Misc\Caching\Test\obj\Debug\netcoreapp2.2\Test.AssemblyInfo.cs
+C:\Code\Misc\Caching\Test\obj\Debug\netcoreapp2.2\Test.csproj.CopyComplete
+C:\Code\Misc\Caching\Test\obj\Debug\netcoreapp2.2\Test.dll
+C:\Code\Misc\Caching\Test\obj\Debug\netcoreapp2.2\Test.pdb
diff --git a/Test/obj/Debug/netcoreapp2.2/Test.csprojAssemblyReference.cache b/Test/obj/Debug/netcoreapp2.2/Test.csprojAssemblyReference.cache
new file mode 100644
index 0000000..4c3e826
Binary files /dev/null and b/Test/obj/Debug/netcoreapp2.2/Test.csprojAssemblyReference.cache differ
diff --git a/Test/obj/Debug/netcoreapp2.2/Test.dll b/Test/obj/Debug/netcoreapp2.2/Test.dll
new file mode 100644
index 0000000..f62a3c2
Binary files /dev/null and b/Test/obj/Debug/netcoreapp2.2/Test.dll differ
diff --git a/Test/obj/Debug/netcoreapp2.2/Test.pdb b/Test/obj/Debug/netcoreapp2.2/Test.pdb
new file mode 100644
index 0000000..5696cc9
Binary files /dev/null and b/Test/obj/Debug/netcoreapp2.2/Test.pdb differ
diff --git a/TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.AssemblyInfo.cs b/Test/obj/Debug/netcoreapp2.2/TestNetCore.AssemblyInfo.cs
similarity index 100%
rename from TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.AssemblyInfo.cs
rename to Test/obj/Debug/netcoreapp2.2/TestNetCore.AssemblyInfo.cs
diff --git a/TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.AssemblyInfoInputs.cache b/Test/obj/Debug/netcoreapp2.2/TestNetCore.AssemblyInfoInputs.cache
similarity index 100%
rename from TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.AssemblyInfoInputs.cache
rename to Test/obj/Debug/netcoreapp2.2/TestNetCore.AssemblyInfoInputs.cache
diff --git a/TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.assets.cache b/Test/obj/Debug/netcoreapp2.2/TestNetCore.assets.cache
similarity index 100%
rename from TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.assets.cache
rename to Test/obj/Debug/netcoreapp2.2/TestNetCore.assets.cache
diff --git a/TestNetFramework/obj/Debug/CachingTest.csproj.CopyComplete b/Test/obj/Debug/netcoreapp2.2/TestNetCore.csproj.CopyComplete
similarity index 100%
rename from TestNetFramework/obj/Debug/CachingTest.csproj.CopyComplete
rename to Test/obj/Debug/netcoreapp2.2/TestNetCore.csproj.CopyComplete
diff --git a/Test/obj/Debug/netcoreapp2.2/TestNetCore.csproj.CoreCompileInputs.cache b/Test/obj/Debug/netcoreapp2.2/TestNetCore.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..5af2f90
--- /dev/null
+++ b/Test/obj/Debug/netcoreapp2.2/TestNetCore.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+c1efe2389ba3dd78c174e01d3ac7ddcebd6167ab
diff --git a/TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.csproj.FileListAbsolute.txt b/Test/obj/Debug/netcoreapp2.2/TestNetCore.csproj.FileListAbsolute.txt
similarity index 100%
rename from TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.csproj.FileListAbsolute.txt
rename to Test/obj/Debug/netcoreapp2.2/TestNetCore.csproj.FileListAbsolute.txt
diff --git a/TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.csprojAssemblyReference.cache b/Test/obj/Debug/netcoreapp2.2/TestNetCore.csprojAssemblyReference.cache
similarity index 100%
rename from TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.csprojAssemblyReference.cache
rename to Test/obj/Debug/netcoreapp2.2/TestNetCore.csprojAssemblyReference.cache
diff --git a/TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.dll b/Test/obj/Debug/netcoreapp2.2/TestNetCore.dll
similarity index 100%
rename from TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.dll
rename to Test/obj/Debug/netcoreapp2.2/TestNetCore.dll
diff --git a/TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.pdb b/Test/obj/Debug/netcoreapp2.2/TestNetCore.pdb
similarity index 100%
rename from TestNetCore/obj/Debug/netcoreapp2.2/TestNetCore.pdb
rename to Test/obj/Debug/netcoreapp2.2/TestNetCore.pdb
diff --git a/TestNetFramework/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Test/obj/Release/net452/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
similarity index 100%
rename from TestNetFramework/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
rename to Test/obj/Release/net452/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
diff --git a/TestNetFramework/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Test/obj/Release/net452/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
similarity index 100%
rename from TestNetFramework/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
rename to Test/obj/Release/net452/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
diff --git a/TestNetFramework/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Test/obj/Release/net452/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
similarity index 100%
rename from TestNetFramework/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
rename to Test/obj/Release/net452/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
diff --git a/Test/obj/Release/net452/Test.AssemblyInfo.cs b/Test/obj/Release/net452/Test.AssemblyInfo.cs
new file mode 100644
index 0000000..7ad2477
--- /dev/null
+++ b/Test/obj/Release/net452/Test.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Test")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyProductAttribute("Test")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Test")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/Test/obj/Release/net452/Test.AssemblyInfoInputs.cache b/Test/obj/Release/net452/Test.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..26924ab
--- /dev/null
+++ b/Test/obj/Release/net452/Test.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+9f91c799eb152764f912b3c1bb65bbfc7de05c05
diff --git a/Test/obj/Release/net452/Test.assets.cache b/Test/obj/Release/net452/Test.assets.cache
new file mode 100644
index 0000000..e215bcf
Binary files /dev/null and b/Test/obj/Release/net452/Test.assets.cache differ
diff --git a/TestNetFramework/obj/Debug/TestNetFramework.csproj.CopyComplete b/Test/obj/Release/net452/Test.csproj.CopyComplete
similarity index 100%
rename from TestNetFramework/obj/Debug/TestNetFramework.csproj.CopyComplete
rename to Test/obj/Release/net452/Test.csproj.CopyComplete
diff --git a/Test/obj/Release/net452/Test.csproj.CoreCompileInputs.cache b/Test/obj/Release/net452/Test.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..f914fd7
--- /dev/null
+++ b/Test/obj/Release/net452/Test.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+0dff0cb5dee21d2a937bcf3ee183aef39ca4329f
diff --git a/Test/obj/Release/net452/Test.csproj.FileListAbsolute.txt b/Test/obj/Release/net452/Test.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..326e7d6
--- /dev/null
+++ b/Test/obj/Release/net452/Test.csproj.FileListAbsolute.txt
@@ -0,0 +1,12 @@
+C:\Code\Misc\Caching\Test\bin\Release\net452\Test.exe.config
+C:\Code\Misc\Caching\Test\bin\Release\net452\Test.exe
+C:\Code\Misc\Caching\Test\bin\Release\net452\Test.pdb
+C:\Code\Misc\Caching\Test\bin\Release\net452\Caching.dll
+C:\Code\Misc\Caching\Test\bin\Release\net452\Caching.pdb
+C:\Code\Misc\Caching\Test\obj\Release\net452\Test.csprojAssemblyReference.cache
+C:\Code\Misc\Caching\Test\obj\Release\net452\Test.csproj.CoreCompileInputs.cache
+C:\Code\Misc\Caching\Test\obj\Release\net452\Test.AssemblyInfoInputs.cache
+C:\Code\Misc\Caching\Test\obj\Release\net452\Test.AssemblyInfo.cs
+C:\Code\Misc\Caching\Test\obj\Release\net452\Test.csproj.CopyComplete
+C:\Code\Misc\Caching\Test\obj\Release\net452\Test.exe
+C:\Code\Misc\Caching\Test\obj\Release\net452\Test.pdb
diff --git a/TestNetFramework/obj/Release/CachingTest.csprojAssemblyReference.cache b/Test/obj/Release/net452/Test.csprojAssemblyReference.cache
similarity index 52%
rename from TestNetFramework/obj/Release/CachingTest.csprojAssemblyReference.cache
rename to Test/obj/Release/net452/Test.csprojAssemblyReference.cache
index 67b6b2e..9a4622c 100644
Binary files a/TestNetFramework/obj/Release/CachingTest.csprojAssemblyReference.cache and b/Test/obj/Release/net452/Test.csprojAssemblyReference.cache differ
diff --git a/Test/obj/Release/net452/Test.exe b/Test/obj/Release/net452/Test.exe
new file mode 100644
index 0000000..33ec675
Binary files /dev/null and b/Test/obj/Release/net452/Test.exe differ
diff --git a/Test/obj/Release/net452/Test.exe.withSupportedRuntime.config b/Test/obj/Release/net452/Test.exe.withSupportedRuntime.config
new file mode 100644
index 0000000..64b249e
--- /dev/null
+++ b/Test/obj/Release/net452/Test.exe.withSupportedRuntime.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Test/obj/Release/net452/Test.pdb b/Test/obj/Release/net452/Test.pdb
new file mode 100644
index 0000000..d2f5b4e
Binary files /dev/null and b/Test/obj/Release/net452/Test.pdb differ
diff --git a/TestNetFramework/obj/Release/CachingTest.csproj.CopyComplete b/Test/obj/Release/netcoreapp2.2/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
similarity index 100%
rename from TestNetFramework/obj/Release/CachingTest.csproj.CopyComplete
rename to Test/obj/Release/netcoreapp2.2/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
diff --git a/TestNetFramework/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Test/obj/Release/netcoreapp2.2/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
similarity index 100%
rename from TestNetFramework/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
rename to Test/obj/Release/netcoreapp2.2/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
diff --git a/TestNetFramework/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Test/obj/Release/netcoreapp2.2/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
similarity index 100%
rename from TestNetFramework/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
rename to Test/obj/Release/netcoreapp2.2/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
diff --git a/Test/obj/Release/netcoreapp2.2/Test.AssemblyInfo.cs b/Test/obj/Release/netcoreapp2.2/Test.AssemblyInfo.cs
new file mode 100644
index 0000000..7ad2477
--- /dev/null
+++ b/Test/obj/Release/netcoreapp2.2/Test.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Test")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyProductAttribute("Test")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Test")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/Test/obj/Release/netcoreapp2.2/Test.AssemblyInfoInputs.cache b/Test/obj/Release/netcoreapp2.2/Test.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..26924ab
--- /dev/null
+++ b/Test/obj/Release/netcoreapp2.2/Test.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+9f91c799eb152764f912b3c1bb65bbfc7de05c05
diff --git a/Test/obj/Release/netcoreapp2.2/Test.assets.cache b/Test/obj/Release/netcoreapp2.2/Test.assets.cache
new file mode 100644
index 0000000..fb0150e
Binary files /dev/null and b/Test/obj/Release/netcoreapp2.2/Test.assets.cache differ
diff --git a/TestNetFramework/obj/Release/TestNetFramework.csproj.CopyComplete b/Test/obj/Release/netcoreapp2.2/Test.csproj.CopyComplete
similarity index 100%
rename from TestNetFramework/obj/Release/TestNetFramework.csproj.CopyComplete
rename to Test/obj/Release/netcoreapp2.2/Test.csproj.CopyComplete
diff --git a/TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.csproj.CoreCompileInputs.cache b/Test/obj/Release/netcoreapp2.2/Test.csproj.CoreCompileInputs.cache
similarity index 100%
rename from TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.csproj.CoreCompileInputs.cache
rename to Test/obj/Release/netcoreapp2.2/Test.csproj.CoreCompileInputs.cache
diff --git a/Test/obj/Release/netcoreapp2.2/Test.csproj.FileListAbsolute.txt b/Test/obj/Release/netcoreapp2.2/Test.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..434e2ed
--- /dev/null
+++ b/Test/obj/Release/netcoreapp2.2/Test.csproj.FileListAbsolute.txt
@@ -0,0 +1,14 @@
+C:\Code\Misc\Caching\Test\bin\Release\netcoreapp2.2\Test.deps.json
+C:\Code\Misc\Caching\Test\bin\Release\netcoreapp2.2\Test.runtimeconfig.json
+C:\Code\Misc\Caching\Test\bin\Release\netcoreapp2.2\Test.runtimeconfig.dev.json
+C:\Code\Misc\Caching\Test\bin\Release\netcoreapp2.2\Test.dll
+C:\Code\Misc\Caching\Test\bin\Release\netcoreapp2.2\Test.pdb
+C:\Code\Misc\Caching\Test\bin\Release\netcoreapp2.2\Caching.dll
+C:\Code\Misc\Caching\Test\bin\Release\netcoreapp2.2\Caching.pdb
+C:\Code\Misc\Caching\Test\obj\Release\netcoreapp2.2\Test.csprojAssemblyReference.cache
+C:\Code\Misc\Caching\Test\obj\Release\netcoreapp2.2\Test.csproj.CoreCompileInputs.cache
+C:\Code\Misc\Caching\Test\obj\Release\netcoreapp2.2\Test.AssemblyInfoInputs.cache
+C:\Code\Misc\Caching\Test\obj\Release\netcoreapp2.2\Test.AssemblyInfo.cs
+C:\Code\Misc\Caching\Test\obj\Release\netcoreapp2.2\Test.csproj.CopyComplete
+C:\Code\Misc\Caching\Test\obj\Release\netcoreapp2.2\Test.dll
+C:\Code\Misc\Caching\Test\obj\Release\netcoreapp2.2\Test.pdb
diff --git a/Test/obj/Release/netcoreapp2.2/Test.csprojAssemblyReference.cache b/Test/obj/Release/netcoreapp2.2/Test.csprojAssemblyReference.cache
new file mode 100644
index 0000000..4183533
Binary files /dev/null and b/Test/obj/Release/netcoreapp2.2/Test.csprojAssemblyReference.cache differ
diff --git a/Test/obj/Release/netcoreapp2.2/Test.dll b/Test/obj/Release/netcoreapp2.2/Test.dll
new file mode 100644
index 0000000..d982aa7
Binary files /dev/null and b/Test/obj/Release/netcoreapp2.2/Test.dll differ
diff --git a/Test/obj/Release/netcoreapp2.2/Test.pdb b/Test/obj/Release/netcoreapp2.2/Test.pdb
new file mode 100644
index 0000000..dfb93f7
Binary files /dev/null and b/Test/obj/Release/netcoreapp2.2/Test.pdb differ
diff --git a/TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.AssemblyInfo.cs b/Test/obj/Release/netcoreapp2.2/TestNetCore.AssemblyInfo.cs
similarity index 100%
rename from TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.AssemblyInfo.cs
rename to Test/obj/Release/netcoreapp2.2/TestNetCore.AssemblyInfo.cs
diff --git a/TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.AssemblyInfoInputs.cache b/Test/obj/Release/netcoreapp2.2/TestNetCore.AssemblyInfoInputs.cache
similarity index 100%
rename from TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.AssemblyInfoInputs.cache
rename to Test/obj/Release/netcoreapp2.2/TestNetCore.AssemblyInfoInputs.cache
diff --git a/TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.assets.cache b/Test/obj/Release/netcoreapp2.2/TestNetCore.assets.cache
similarity index 100%
rename from TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.assets.cache
rename to Test/obj/Release/netcoreapp2.2/TestNetCore.assets.cache
diff --git a/Test/obj/Release/netcoreapp2.2/TestNetCore.csproj.CopyComplete b/Test/obj/Release/netcoreapp2.2/TestNetCore.csproj.CopyComplete
new file mode 100644
index 0000000..e69de29
diff --git a/Test/obj/Release/netcoreapp2.2/TestNetCore.csproj.CoreCompileInputs.cache b/Test/obj/Release/netcoreapp2.2/TestNetCore.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..2bca20b
--- /dev/null
+++ b/Test/obj/Release/netcoreapp2.2/TestNetCore.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+b96d77991567b763b3147f72a6d14c03f94faef3
diff --git a/TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.csproj.FileListAbsolute.txt b/Test/obj/Release/netcoreapp2.2/TestNetCore.csproj.FileListAbsolute.txt
similarity index 100%
rename from TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.csproj.FileListAbsolute.txt
rename to Test/obj/Release/netcoreapp2.2/TestNetCore.csproj.FileListAbsolute.txt
diff --git a/TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.csprojAssemblyReference.cache b/Test/obj/Release/netcoreapp2.2/TestNetCore.csprojAssemblyReference.cache
similarity index 100%
rename from TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.csprojAssemblyReference.cache
rename to Test/obj/Release/netcoreapp2.2/TestNetCore.csprojAssemblyReference.cache
diff --git a/TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.dll b/Test/obj/Release/netcoreapp2.2/TestNetCore.dll
similarity index 100%
rename from TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.dll
rename to Test/obj/Release/netcoreapp2.2/TestNetCore.dll
diff --git a/TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.pdb b/Test/obj/Release/netcoreapp2.2/TestNetCore.pdb
similarity index 100%
rename from TestNetCore/obj/Release/netcoreapp2.2/TestNetCore.pdb
rename to Test/obj/Release/netcoreapp2.2/TestNetCore.pdb
diff --git a/Test/obj/Test.csproj.nuget.cache b/Test/obj/Test.csproj.nuget.cache
new file mode 100644
index 0000000..cb6fca5
--- /dev/null
+++ b/Test/obj/Test.csproj.nuget.cache
@@ -0,0 +1,5 @@
+{
+ "version": 1,
+ "dgSpecHash": "d3uL5fZwrILV0nK/Z8JBd8Y/cht7LbmNrBimz0NvSM6pI5k6W+JeeaDcfdTf24mnBNxspRbbYRk07RLdd1PYEQ==",
+ "success": true
+}
\ No newline at end of file
diff --git a/Test/obj/Test.csproj.nuget.g.props b/Test/obj/Test.csproj.nuget.g.props
new file mode 100644
index 0000000..7143fc7
--- /dev/null
+++ b/Test/obj/Test.csproj.nuget.g.props
@@ -0,0 +1,18 @@
+
+
+
+ True
+ NuGet
+ C:\Code\Misc\Caching\Test\obj\project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\joelc\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder
+ PackageReference
+ 4.9.2
+
+
+ $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
+
+
+
+
+
\ No newline at end of file
diff --git a/Test/obj/Test.csproj.nuget.g.targets b/Test/obj/Test.csproj.nuget.g.targets
new file mode 100644
index 0000000..b6c4206
--- /dev/null
+++ b/Test/obj/Test.csproj.nuget.g.targets
@@ -0,0 +1,10 @@
+
+
+
+ $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestNetCore/obj/TestNetCore.csproj.nuget.cache b/Test/obj/TestNetCore.csproj.nuget.cache
similarity index 100%
rename from TestNetCore/obj/TestNetCore.csproj.nuget.cache
rename to Test/obj/TestNetCore.csproj.nuget.cache
diff --git a/TestNetCore/obj/TestNetCore.csproj.nuget.g.props b/Test/obj/TestNetCore.csproj.nuget.g.props
similarity index 100%
rename from TestNetCore/obj/TestNetCore.csproj.nuget.g.props
rename to Test/obj/TestNetCore.csproj.nuget.g.props
diff --git a/TestNetCore/obj/TestNetCore.csproj.nuget.g.targets b/Test/obj/TestNetCore.csproj.nuget.g.targets
similarity index 100%
rename from TestNetCore/obj/TestNetCore.csproj.nuget.g.targets
rename to Test/obj/TestNetCore.csproj.nuget.g.targets
diff --git a/Test/obj/project.assets.json b/Test/obj/project.assets.json
new file mode 100644
index 0000000..9f8bf42
--- /dev/null
+++ b/Test/obj/project.assets.json
@@ -0,0 +1,1670 @@
+{
+ "version": 3,
+ "targets": {
+ ".NETCoreApp,Version=v2.2": {
+ "Microsoft.CSharp/4.5.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcoreapp2.0/_._": {}
+ },
+ "runtime": {
+ "lib/netcoreapp2.0/_._": {}
+ }
+ },
+ "Microsoft.NETCore.App/2.2.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.DotNetHostPolicy": "2.2.0",
+ "Microsoft.NETCore.Platforms": "2.2.0",
+ "Microsoft.NETCore.Targets": "2.0.0",
+ "NETStandard.Library": "2.0.3"
+ },
+ "compile": {
+ "ref/netcoreapp2.2/Microsoft.CSharp.dll": {},
+ "ref/netcoreapp2.2/Microsoft.VisualBasic.dll": {},
+ "ref/netcoreapp2.2/Microsoft.Win32.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.AppContext.dll": {},
+ "ref/netcoreapp2.2/System.Buffers.dll": {},
+ "ref/netcoreapp2.2/System.Collections.Concurrent.dll": {},
+ "ref/netcoreapp2.2/System.Collections.Immutable.dll": {},
+ "ref/netcoreapp2.2/System.Collections.NonGeneric.dll": {},
+ "ref/netcoreapp2.2/System.Collections.Specialized.dll": {},
+ "ref/netcoreapp2.2/System.Collections.dll": {},
+ "ref/netcoreapp2.2/System.ComponentModel.Annotations.dll": {},
+ "ref/netcoreapp2.2/System.ComponentModel.DataAnnotations.dll": {},
+ "ref/netcoreapp2.2/System.ComponentModel.EventBasedAsync.dll": {},
+ "ref/netcoreapp2.2/System.ComponentModel.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.ComponentModel.TypeConverter.dll": {},
+ "ref/netcoreapp2.2/System.ComponentModel.dll": {},
+ "ref/netcoreapp2.2/System.Configuration.dll": {},
+ "ref/netcoreapp2.2/System.Console.dll": {},
+ "ref/netcoreapp2.2/System.Core.dll": {},
+ "ref/netcoreapp2.2/System.Data.Common.dll": {},
+ "ref/netcoreapp2.2/System.Data.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.Contracts.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.Debug.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.DiagnosticSource.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.FileVersionInfo.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.Process.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.StackTrace.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.TextWriterTraceListener.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.Tools.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.TraceSource.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.Tracing.dll": {},
+ "ref/netcoreapp2.2/System.Drawing.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.Drawing.dll": {},
+ "ref/netcoreapp2.2/System.Dynamic.Runtime.dll": {},
+ "ref/netcoreapp2.2/System.Globalization.Calendars.dll": {},
+ "ref/netcoreapp2.2/System.Globalization.Extensions.dll": {},
+ "ref/netcoreapp2.2/System.Globalization.dll": {},
+ "ref/netcoreapp2.2/System.IO.Compression.Brotli.dll": {},
+ "ref/netcoreapp2.2/System.IO.Compression.FileSystem.dll": {},
+ "ref/netcoreapp2.2/System.IO.Compression.ZipFile.dll": {},
+ "ref/netcoreapp2.2/System.IO.Compression.dll": {},
+ "ref/netcoreapp2.2/System.IO.FileSystem.DriveInfo.dll": {},
+ "ref/netcoreapp2.2/System.IO.FileSystem.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.IO.FileSystem.Watcher.dll": {},
+ "ref/netcoreapp2.2/System.IO.FileSystem.dll": {},
+ "ref/netcoreapp2.2/System.IO.IsolatedStorage.dll": {},
+ "ref/netcoreapp2.2/System.IO.MemoryMappedFiles.dll": {},
+ "ref/netcoreapp2.2/System.IO.Pipes.dll": {},
+ "ref/netcoreapp2.2/System.IO.UnmanagedMemoryStream.dll": {},
+ "ref/netcoreapp2.2/System.IO.dll": {},
+ "ref/netcoreapp2.2/System.Linq.Expressions.dll": {},
+ "ref/netcoreapp2.2/System.Linq.Parallel.dll": {},
+ "ref/netcoreapp2.2/System.Linq.Queryable.dll": {},
+ "ref/netcoreapp2.2/System.Linq.dll": {},
+ "ref/netcoreapp2.2/System.Memory.dll": {},
+ "ref/netcoreapp2.2/System.Net.Http.dll": {},
+ "ref/netcoreapp2.2/System.Net.HttpListener.dll": {},
+ "ref/netcoreapp2.2/System.Net.Mail.dll": {},
+ "ref/netcoreapp2.2/System.Net.NameResolution.dll": {},
+ "ref/netcoreapp2.2/System.Net.NetworkInformation.dll": {},
+ "ref/netcoreapp2.2/System.Net.Ping.dll": {},
+ "ref/netcoreapp2.2/System.Net.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.Net.Requests.dll": {},
+ "ref/netcoreapp2.2/System.Net.Security.dll": {},
+ "ref/netcoreapp2.2/System.Net.ServicePoint.dll": {},
+ "ref/netcoreapp2.2/System.Net.Sockets.dll": {},
+ "ref/netcoreapp2.2/System.Net.WebClient.dll": {},
+ "ref/netcoreapp2.2/System.Net.WebHeaderCollection.dll": {},
+ "ref/netcoreapp2.2/System.Net.WebProxy.dll": {},
+ "ref/netcoreapp2.2/System.Net.WebSockets.Client.dll": {},
+ "ref/netcoreapp2.2/System.Net.WebSockets.dll": {},
+ "ref/netcoreapp2.2/System.Net.dll": {},
+ "ref/netcoreapp2.2/System.Numerics.Vectors.dll": {},
+ "ref/netcoreapp2.2/System.Numerics.dll": {},
+ "ref/netcoreapp2.2/System.ObjectModel.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.DispatchProxy.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.Emit.ILGeneration.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.Emit.Lightweight.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.Emit.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.Extensions.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.Metadata.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.TypeExtensions.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.dll": {},
+ "ref/netcoreapp2.2/System.Resources.Reader.dll": {},
+ "ref/netcoreapp2.2/System.Resources.ResourceManager.dll": {},
+ "ref/netcoreapp2.2/System.Resources.Writer.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.CompilerServices.VisualC.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Extensions.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Handles.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.InteropServices.RuntimeInformation.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.InteropServices.WindowsRuntime.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.InteropServices.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Loader.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Numerics.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Formatters.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Json.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Xml.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Serialization.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.dll": {},
+ "ref/netcoreapp2.2/System.Security.Claims.dll": {},
+ "ref/netcoreapp2.2/System.Security.Cryptography.Algorithms.dll": {},
+ "ref/netcoreapp2.2/System.Security.Cryptography.Csp.dll": {},
+ "ref/netcoreapp2.2/System.Security.Cryptography.Encoding.dll": {},
+ "ref/netcoreapp2.2/System.Security.Cryptography.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.Security.Cryptography.X509Certificates.dll": {},
+ "ref/netcoreapp2.2/System.Security.Principal.dll": {},
+ "ref/netcoreapp2.2/System.Security.SecureString.dll": {},
+ "ref/netcoreapp2.2/System.Security.dll": {},
+ "ref/netcoreapp2.2/System.ServiceModel.Web.dll": {},
+ "ref/netcoreapp2.2/System.ServiceProcess.dll": {},
+ "ref/netcoreapp2.2/System.Text.Encoding.Extensions.dll": {},
+ "ref/netcoreapp2.2/System.Text.Encoding.dll": {},
+ "ref/netcoreapp2.2/System.Text.RegularExpressions.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Overlapped.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Tasks.Dataflow.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Tasks.Extensions.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Tasks.Parallel.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Tasks.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Thread.dll": {},
+ "ref/netcoreapp2.2/System.Threading.ThreadPool.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Timer.dll": {},
+ "ref/netcoreapp2.2/System.Threading.dll": {},
+ "ref/netcoreapp2.2/System.Transactions.Local.dll": {},
+ "ref/netcoreapp2.2/System.Transactions.dll": {},
+ "ref/netcoreapp2.2/System.ValueTuple.dll": {},
+ "ref/netcoreapp2.2/System.Web.HttpUtility.dll": {},
+ "ref/netcoreapp2.2/System.Web.dll": {},
+ "ref/netcoreapp2.2/System.Windows.dll": {},
+ "ref/netcoreapp2.2/System.Xml.Linq.dll": {},
+ "ref/netcoreapp2.2/System.Xml.ReaderWriter.dll": {},
+ "ref/netcoreapp2.2/System.Xml.Serialization.dll": {},
+ "ref/netcoreapp2.2/System.Xml.XDocument.dll": {},
+ "ref/netcoreapp2.2/System.Xml.XPath.XDocument.dll": {},
+ "ref/netcoreapp2.2/System.Xml.XPath.dll": {},
+ "ref/netcoreapp2.2/System.Xml.XmlDocument.dll": {},
+ "ref/netcoreapp2.2/System.Xml.XmlSerializer.dll": {},
+ "ref/netcoreapp2.2/System.Xml.dll": {},
+ "ref/netcoreapp2.2/System.dll": {},
+ "ref/netcoreapp2.2/WindowsBase.dll": {},
+ "ref/netcoreapp2.2/mscorlib.dll": {},
+ "ref/netcoreapp2.2/netstandard.dll": {}
+ },
+ "build": {
+ "build/netcoreapp2.2/Microsoft.NETCore.App.props": {},
+ "build/netcoreapp2.2/Microsoft.NETCore.App.targets": {}
+ }
+ },
+ "Microsoft.NETCore.DotNetAppHost/2.2.0": {
+ "type": "package"
+ },
+ "Microsoft.NETCore.DotNetHostPolicy/2.2.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.DotNetHostResolver": "2.2.0"
+ }
+ },
+ "Microsoft.NETCore.DotNetHostResolver/2.2.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.DotNetAppHost": "2.2.0"
+ }
+ },
+ "Microsoft.NETCore.Platforms/2.2.0": {
+ "type": "package",
+ "compile": {
+ "lib/netstandard1.0/_._": {}
+ },
+ "runtime": {
+ "lib/netstandard1.0/_._": {}
+ }
+ },
+ "Microsoft.NETCore.Targets/2.0.0": {
+ "type": "package",
+ "compile": {
+ "lib/netstandard1.0/_._": {}
+ },
+ "runtime": {
+ "lib/netstandard1.0/_._": {}
+ }
+ },
+ "NETStandard.Library/2.0.3": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ },
+ "compile": {
+ "lib/netstandard1.0/_._": {}
+ },
+ "runtime": {
+ "lib/netstandard1.0/_._": {}
+ },
+ "build": {
+ "build/netstandard2.0/NETStandard.Library.targets": {}
+ }
+ },
+ "Caching.dll/1.3.3": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "dependencies": {
+ "Microsoft.CSharp": "4.5.0"
+ },
+ "compile": {
+ "bin/placeholder/Caching.dll.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Caching.dll.dll": {}
+ }
+ }
+ },
+ ".NETCoreApp,Version=v2.2/win7-x86": {
+ "Microsoft.CSharp/4.5.0": {
+ "type": "package",
+ "compile": {
+ "ref/netcoreapp2.0/_._": {}
+ },
+ "runtime": {
+ "lib/netcoreapp2.0/_._": {}
+ }
+ },
+ "Microsoft.NETCore.App/2.2.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.DotNetHostPolicy": "2.2.0",
+ "Microsoft.NETCore.Platforms": "2.2.0",
+ "Microsoft.NETCore.Targets": "2.0.0",
+ "NETStandard.Library": "2.0.3",
+ "runtime.win-x86.Microsoft.NETCore.App": "2.2.0"
+ },
+ "compile": {
+ "ref/netcoreapp2.2/Microsoft.CSharp.dll": {},
+ "ref/netcoreapp2.2/Microsoft.VisualBasic.dll": {},
+ "ref/netcoreapp2.2/Microsoft.Win32.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.AppContext.dll": {},
+ "ref/netcoreapp2.2/System.Buffers.dll": {},
+ "ref/netcoreapp2.2/System.Collections.Concurrent.dll": {},
+ "ref/netcoreapp2.2/System.Collections.Immutable.dll": {},
+ "ref/netcoreapp2.2/System.Collections.NonGeneric.dll": {},
+ "ref/netcoreapp2.2/System.Collections.Specialized.dll": {},
+ "ref/netcoreapp2.2/System.Collections.dll": {},
+ "ref/netcoreapp2.2/System.ComponentModel.Annotations.dll": {},
+ "ref/netcoreapp2.2/System.ComponentModel.DataAnnotations.dll": {},
+ "ref/netcoreapp2.2/System.ComponentModel.EventBasedAsync.dll": {},
+ "ref/netcoreapp2.2/System.ComponentModel.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.ComponentModel.TypeConverter.dll": {},
+ "ref/netcoreapp2.2/System.ComponentModel.dll": {},
+ "ref/netcoreapp2.2/System.Configuration.dll": {},
+ "ref/netcoreapp2.2/System.Console.dll": {},
+ "ref/netcoreapp2.2/System.Core.dll": {},
+ "ref/netcoreapp2.2/System.Data.Common.dll": {},
+ "ref/netcoreapp2.2/System.Data.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.Contracts.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.Debug.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.DiagnosticSource.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.FileVersionInfo.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.Process.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.StackTrace.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.TextWriterTraceListener.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.Tools.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.TraceSource.dll": {},
+ "ref/netcoreapp2.2/System.Diagnostics.Tracing.dll": {},
+ "ref/netcoreapp2.2/System.Drawing.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.Drawing.dll": {},
+ "ref/netcoreapp2.2/System.Dynamic.Runtime.dll": {},
+ "ref/netcoreapp2.2/System.Globalization.Calendars.dll": {},
+ "ref/netcoreapp2.2/System.Globalization.Extensions.dll": {},
+ "ref/netcoreapp2.2/System.Globalization.dll": {},
+ "ref/netcoreapp2.2/System.IO.Compression.Brotli.dll": {},
+ "ref/netcoreapp2.2/System.IO.Compression.FileSystem.dll": {},
+ "ref/netcoreapp2.2/System.IO.Compression.ZipFile.dll": {},
+ "ref/netcoreapp2.2/System.IO.Compression.dll": {},
+ "ref/netcoreapp2.2/System.IO.FileSystem.DriveInfo.dll": {},
+ "ref/netcoreapp2.2/System.IO.FileSystem.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.IO.FileSystem.Watcher.dll": {},
+ "ref/netcoreapp2.2/System.IO.FileSystem.dll": {},
+ "ref/netcoreapp2.2/System.IO.IsolatedStorage.dll": {},
+ "ref/netcoreapp2.2/System.IO.MemoryMappedFiles.dll": {},
+ "ref/netcoreapp2.2/System.IO.Pipes.dll": {},
+ "ref/netcoreapp2.2/System.IO.UnmanagedMemoryStream.dll": {},
+ "ref/netcoreapp2.2/System.IO.dll": {},
+ "ref/netcoreapp2.2/System.Linq.Expressions.dll": {},
+ "ref/netcoreapp2.2/System.Linq.Parallel.dll": {},
+ "ref/netcoreapp2.2/System.Linq.Queryable.dll": {},
+ "ref/netcoreapp2.2/System.Linq.dll": {},
+ "ref/netcoreapp2.2/System.Memory.dll": {},
+ "ref/netcoreapp2.2/System.Net.Http.dll": {},
+ "ref/netcoreapp2.2/System.Net.HttpListener.dll": {},
+ "ref/netcoreapp2.2/System.Net.Mail.dll": {},
+ "ref/netcoreapp2.2/System.Net.NameResolution.dll": {},
+ "ref/netcoreapp2.2/System.Net.NetworkInformation.dll": {},
+ "ref/netcoreapp2.2/System.Net.Ping.dll": {},
+ "ref/netcoreapp2.2/System.Net.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.Net.Requests.dll": {},
+ "ref/netcoreapp2.2/System.Net.Security.dll": {},
+ "ref/netcoreapp2.2/System.Net.ServicePoint.dll": {},
+ "ref/netcoreapp2.2/System.Net.Sockets.dll": {},
+ "ref/netcoreapp2.2/System.Net.WebClient.dll": {},
+ "ref/netcoreapp2.2/System.Net.WebHeaderCollection.dll": {},
+ "ref/netcoreapp2.2/System.Net.WebProxy.dll": {},
+ "ref/netcoreapp2.2/System.Net.WebSockets.Client.dll": {},
+ "ref/netcoreapp2.2/System.Net.WebSockets.dll": {},
+ "ref/netcoreapp2.2/System.Net.dll": {},
+ "ref/netcoreapp2.2/System.Numerics.Vectors.dll": {},
+ "ref/netcoreapp2.2/System.Numerics.dll": {},
+ "ref/netcoreapp2.2/System.ObjectModel.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.DispatchProxy.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.Emit.ILGeneration.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.Emit.Lightweight.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.Emit.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.Extensions.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.Metadata.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.TypeExtensions.dll": {},
+ "ref/netcoreapp2.2/System.Reflection.dll": {},
+ "ref/netcoreapp2.2/System.Resources.Reader.dll": {},
+ "ref/netcoreapp2.2/System.Resources.ResourceManager.dll": {},
+ "ref/netcoreapp2.2/System.Resources.Writer.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.CompilerServices.VisualC.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Extensions.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Handles.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.InteropServices.RuntimeInformation.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.InteropServices.WindowsRuntime.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.InteropServices.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Loader.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Numerics.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Formatters.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Json.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Xml.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.Serialization.dll": {},
+ "ref/netcoreapp2.2/System.Runtime.dll": {},
+ "ref/netcoreapp2.2/System.Security.Claims.dll": {},
+ "ref/netcoreapp2.2/System.Security.Cryptography.Algorithms.dll": {},
+ "ref/netcoreapp2.2/System.Security.Cryptography.Csp.dll": {},
+ "ref/netcoreapp2.2/System.Security.Cryptography.Encoding.dll": {},
+ "ref/netcoreapp2.2/System.Security.Cryptography.Primitives.dll": {},
+ "ref/netcoreapp2.2/System.Security.Cryptography.X509Certificates.dll": {},
+ "ref/netcoreapp2.2/System.Security.Principal.dll": {},
+ "ref/netcoreapp2.2/System.Security.SecureString.dll": {},
+ "ref/netcoreapp2.2/System.Security.dll": {},
+ "ref/netcoreapp2.2/System.ServiceModel.Web.dll": {},
+ "ref/netcoreapp2.2/System.ServiceProcess.dll": {},
+ "ref/netcoreapp2.2/System.Text.Encoding.Extensions.dll": {},
+ "ref/netcoreapp2.2/System.Text.Encoding.dll": {},
+ "ref/netcoreapp2.2/System.Text.RegularExpressions.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Overlapped.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Tasks.Dataflow.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Tasks.Extensions.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Tasks.Parallel.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Tasks.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Thread.dll": {},
+ "ref/netcoreapp2.2/System.Threading.ThreadPool.dll": {},
+ "ref/netcoreapp2.2/System.Threading.Timer.dll": {},
+ "ref/netcoreapp2.2/System.Threading.dll": {},
+ "ref/netcoreapp2.2/System.Transactions.Local.dll": {},
+ "ref/netcoreapp2.2/System.Transactions.dll": {},
+ "ref/netcoreapp2.2/System.ValueTuple.dll": {},
+ "ref/netcoreapp2.2/System.Web.HttpUtility.dll": {},
+ "ref/netcoreapp2.2/System.Web.dll": {},
+ "ref/netcoreapp2.2/System.Windows.dll": {},
+ "ref/netcoreapp2.2/System.Xml.Linq.dll": {},
+ "ref/netcoreapp2.2/System.Xml.ReaderWriter.dll": {},
+ "ref/netcoreapp2.2/System.Xml.Serialization.dll": {},
+ "ref/netcoreapp2.2/System.Xml.XDocument.dll": {},
+ "ref/netcoreapp2.2/System.Xml.XPath.XDocument.dll": {},
+ "ref/netcoreapp2.2/System.Xml.XPath.dll": {},
+ "ref/netcoreapp2.2/System.Xml.XmlDocument.dll": {},
+ "ref/netcoreapp2.2/System.Xml.XmlSerializer.dll": {},
+ "ref/netcoreapp2.2/System.Xml.dll": {},
+ "ref/netcoreapp2.2/System.dll": {},
+ "ref/netcoreapp2.2/WindowsBase.dll": {},
+ "ref/netcoreapp2.2/mscorlib.dll": {},
+ "ref/netcoreapp2.2/netstandard.dll": {}
+ },
+ "build": {
+ "build/netcoreapp2.2/Microsoft.NETCore.App.props": {},
+ "build/netcoreapp2.2/Microsoft.NETCore.App.targets": {}
+ }
+ },
+ "Microsoft.NETCore.DotNetAppHost/2.2.0": {
+ "type": "package",
+ "dependencies": {
+ "runtime.win-x86.Microsoft.NETCore.DotNetAppHost": "2.2.0"
+ }
+ },
+ "Microsoft.NETCore.DotNetHostPolicy/2.2.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.DotNetHostResolver": "2.2.0",
+ "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy": "2.2.0"
+ }
+ },
+ "Microsoft.NETCore.DotNetHostResolver/2.2.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.DotNetAppHost": "2.2.0",
+ "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver": "2.2.0"
+ }
+ },
+ "Microsoft.NETCore.Platforms/2.2.0": {
+ "type": "package",
+ "compile": {
+ "lib/netstandard1.0/_._": {}
+ },
+ "runtime": {
+ "lib/netstandard1.0/_._": {}
+ }
+ },
+ "Microsoft.NETCore.Targets/2.0.0": {
+ "type": "package",
+ "compile": {
+ "lib/netstandard1.0/_._": {}
+ },
+ "runtime": {
+ "lib/netstandard1.0/_._": {}
+ }
+ },
+ "NETStandard.Library/2.0.3": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ },
+ "compile": {
+ "lib/netstandard1.0/_._": {}
+ },
+ "runtime": {
+ "lib/netstandard1.0/_._": {}
+ },
+ "build": {
+ "build/netstandard2.0/NETStandard.Library.targets": {}
+ }
+ },
+ "runtime.win-x86.Microsoft.NETCore.App/2.2.0": {
+ "type": "package",
+ "compile": {
+ "ref/netstandard/_._": {}
+ },
+ "runtime": {
+ "runtimes/win-x86/lib/netcoreapp2.2/Microsoft.CSharp.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/Microsoft.VisualBasic.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/Microsoft.Win32.Primitives.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/Microsoft.Win32.Registry.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/SOS.NETCore.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.AppContext.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Buffers.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Collections.Concurrent.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Collections.Immutable.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Collections.NonGeneric.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Collections.Specialized.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Collections.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ComponentModel.Annotations.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ComponentModel.DataAnnotations.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ComponentModel.EventBasedAsync.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ComponentModel.Primitives.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ComponentModel.TypeConverter.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ComponentModel.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Configuration.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Console.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Core.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Data.Common.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Data.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.Contracts.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.Debug.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.DiagnosticSource.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.FileVersionInfo.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.Process.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.StackTrace.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.TextWriterTraceListener.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.Tools.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.TraceSource.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.Tracing.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Drawing.Primitives.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Drawing.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Dynamic.Runtime.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Globalization.Calendars.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Globalization.Extensions.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Globalization.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.Compression.Brotli.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.Compression.FileSystem.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.Compression.ZipFile.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.Compression.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.FileSystem.AccessControl.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.FileSystem.DriveInfo.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.FileSystem.Primitives.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.FileSystem.Watcher.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.FileSystem.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.IsolatedStorage.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.MemoryMappedFiles.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.Pipes.AccessControl.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.Pipes.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.UnmanagedMemoryStream.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Linq.Expressions.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Linq.Parallel.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Linq.Queryable.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Linq.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Memory.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Http.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.HttpListener.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Mail.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.NameResolution.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.NetworkInformation.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Ping.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Primitives.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Requests.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Security.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.ServicePoint.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Sockets.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.WebClient.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.WebHeaderCollection.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.WebProxy.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.WebSockets.Client.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.WebSockets.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Numerics.Vectors.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Numerics.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ObjectModel.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Private.DataContractSerialization.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Private.Uri.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Private.Xml.Linq.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Private.Xml.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.DispatchProxy.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.Emit.ILGeneration.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.Emit.Lightweight.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.Emit.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.Extensions.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.Metadata.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.Primitives.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.TypeExtensions.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Resources.Reader.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Resources.ResourceManager.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Resources.Writer.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.CompilerServices.VisualC.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Extensions.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Handles.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.InteropServices.RuntimeInformation.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.InteropServices.WindowsRuntime.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.InteropServices.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Loader.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Numerics.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Serialization.Formatters.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Serialization.Json.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Serialization.Primitives.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Serialization.Xml.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Serialization.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.AccessControl.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Claims.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.Algorithms.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.Cng.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.Csp.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.Encoding.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.OpenSsl.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.Primitives.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.X509Certificates.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Principal.Windows.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Principal.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.SecureString.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ServiceModel.Web.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ServiceProcess.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Text.Encoding.Extensions.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Text.Encoding.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Text.RegularExpressions.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Overlapped.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Tasks.Dataflow.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Tasks.Extensions.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Tasks.Parallel.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Tasks.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Thread.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.ThreadPool.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Timer.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Transactions.Local.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Transactions.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ValueTuple.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Web.HttpUtility.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Web.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Windows.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.Linq.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.ReaderWriter.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.Serialization.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.XDocument.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.XPath.XDocument.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.XPath.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.XmlDocument.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.XmlSerializer.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/System.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/WindowsBase.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/mscorlib.dll": {},
+ "runtimes/win-x86/lib/netcoreapp2.2/netstandard.dll": {}
+ },
+ "native": {
+ "runtimes/win-x86/native/API-MS-Win-core-xstate-l2-1-0.dll": {},
+ "runtimes/win-x86/native/Microsoft.DiaSymReader.Native.x86.dll": {},
+ "runtimes/win-x86/native/System.Private.CoreLib.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-console-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-datetime-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-debug-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-errorhandling-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-file-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-file-l1-2-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-file-l2-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-handle-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-heap-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-interlocked-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-libraryloader-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-localization-l1-2-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-memory-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-namedpipe-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-processenvironment-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-processthreads-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-processthreads-l1-1-1.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-profile-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-rtlsupport-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-string-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-synch-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-synch-l1-2-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-sysinfo-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-timezone-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-core-util-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-conio-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-convert-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-environment-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-filesystem-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-heap-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-locale-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-math-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-multibyte-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-private-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-process-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-runtime-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-stdio-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-string-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-time-l1-1-0.dll": {},
+ "runtimes/win-x86/native/api-ms-win-crt-utility-l1-1-0.dll": {},
+ "runtimes/win-x86/native/clrcompression.dll": {},
+ "runtimes/win-x86/native/clretwrc.dll": {},
+ "runtimes/win-x86/native/clrjit.dll": {},
+ "runtimes/win-x86/native/coreclr.dll": {},
+ "runtimes/win-x86/native/dbgshim.dll": {},
+ "runtimes/win-x86/native/mscordaccore.dll": {},
+ "runtimes/win-x86/native/mscordaccore_x86_x86_4.6.27110.04.dll": {},
+ "runtimes/win-x86/native/mscordbi.dll": {},
+ "runtimes/win-x86/native/mscorrc.debug.dll": {},
+ "runtimes/win-x86/native/mscorrc.dll": {},
+ "runtimes/win-x86/native/sos.dll": {},
+ "runtimes/win-x86/native/sos_x86_x86_4.6.27110.04.dll": {},
+ "runtimes/win-x86/native/ucrtbase.dll": {}
+ }
+ },
+ "runtime.win-x86.Microsoft.NETCore.DotNetAppHost/2.2.0": {
+ "type": "package",
+ "native": {
+ "runtimes/win-x86/native/apphost.exe": {}
+ }
+ },
+ "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy/2.2.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.DotNetHostResolver": "2.2.0"
+ },
+ "native": {
+ "runtimes/win-x86/native/hostpolicy.dll": {}
+ }
+ },
+ "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver/2.2.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.NETCore.DotNetAppHost": "2.2.0"
+ },
+ "native": {
+ "runtimes/win-x86/native/hostfxr.dll": {}
+ }
+ },
+ "Caching.dll/1.3.3": {
+ "type": "project",
+ "framework": ".NETStandard,Version=v2.0",
+ "dependencies": {
+ "Microsoft.CSharp": "4.5.0"
+ },
+ "compile": {
+ "bin/placeholder/Caching.dll.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Caching.dll.dll": {}
+ }
+ }
+ },
+ ".NETFramework,Version=v4.5.2": {
+ "Microsoft.CSharp/4.5.0": {
+ "type": "package",
+ "frameworkAssemblies": [
+ "Microsoft.CSharp"
+ ],
+ "compile": {
+ "ref/net45/_._": {}
+ },
+ "runtime": {
+ "lib/net45/_._": {}
+ }
+ },
+ "Caching.dll/1.3.3": {
+ "type": "project",
+ "framework": ".NETFramework,Version=v4.5.2",
+ "dependencies": {
+ "Microsoft.CSharp": "4.5.0"
+ },
+ "compile": {
+ "bin/placeholder/Caching.dll.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Caching.dll.dll": {}
+ }
+ }
+ },
+ ".NETFramework,Version=v4.5.2/win7-x86": {
+ "Microsoft.CSharp/4.5.0": {
+ "type": "package",
+ "frameworkAssemblies": [
+ "Microsoft.CSharp"
+ ],
+ "compile": {
+ "ref/net45/_._": {}
+ },
+ "runtime": {
+ "lib/net45/_._": {}
+ }
+ },
+ "Caching.dll/1.3.3": {
+ "type": "project",
+ "framework": ".NETFramework,Version=v4.5.2",
+ "dependencies": {
+ "Microsoft.CSharp": "4.5.0"
+ },
+ "compile": {
+ "bin/placeholder/Caching.dll.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Caching.dll.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Microsoft.CSharp/4.5.0": {
+ "sha512": "kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==",
+ "type": "package",
+ "path": "microsoft.csharp/4.5.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net45/_._",
+ "lib/netcore50/Microsoft.CSharp.dll",
+ "lib/netcoreapp2.0/_._",
+ "lib/netstandard1.3/Microsoft.CSharp.dll",
+ "lib/netstandard2.0/Microsoft.CSharp.dll",
+ "lib/portable-net45+win8+wp8+wpa81/_._",
+ "lib/uap10.0.16299/_._",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "lib/xamarintvos10/_._",
+ "lib/xamarinwatchos10/_._",
+ "microsoft.csharp.4.5.0.nupkg.sha512",
+ "microsoft.csharp.nuspec",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net45/_._",
+ "ref/netcore50/Microsoft.CSharp.dll",
+ "ref/netcore50/Microsoft.CSharp.xml",
+ "ref/netcore50/de/Microsoft.CSharp.xml",
+ "ref/netcore50/es/Microsoft.CSharp.xml",
+ "ref/netcore50/fr/Microsoft.CSharp.xml",
+ "ref/netcore50/it/Microsoft.CSharp.xml",
+ "ref/netcore50/ja/Microsoft.CSharp.xml",
+ "ref/netcore50/ko/Microsoft.CSharp.xml",
+ "ref/netcore50/ru/Microsoft.CSharp.xml",
+ "ref/netcore50/zh-hans/Microsoft.CSharp.xml",
+ "ref/netcore50/zh-hant/Microsoft.CSharp.xml",
+ "ref/netcoreapp2.0/_._",
+ "ref/netstandard1.0/Microsoft.CSharp.dll",
+ "ref/netstandard1.0/Microsoft.CSharp.xml",
+ "ref/netstandard1.0/de/Microsoft.CSharp.xml",
+ "ref/netstandard1.0/es/Microsoft.CSharp.xml",
+ "ref/netstandard1.0/fr/Microsoft.CSharp.xml",
+ "ref/netstandard1.0/it/Microsoft.CSharp.xml",
+ "ref/netstandard1.0/ja/Microsoft.CSharp.xml",
+ "ref/netstandard1.0/ko/Microsoft.CSharp.xml",
+ "ref/netstandard1.0/ru/Microsoft.CSharp.xml",
+ "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml",
+ "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml",
+ "ref/netstandard2.0/Microsoft.CSharp.dll",
+ "ref/netstandard2.0/Microsoft.CSharp.xml",
+ "ref/portable-net45+win8+wp8+wpa81/_._",
+ "ref/uap10.0.16299/_._",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "ref/xamarintvos10/_._",
+ "ref/xamarinwatchos10/_._",
+ "useSharedDesignerContext.txt",
+ "version.txt"
+ ]
+ },
+ "Microsoft.NETCore.App/2.2.0": {
+ "sha512": "QU8taCyeyePwatrj+h+750lMnsPCq3YPaGmsdtSHXPCjDyjto2KT7QDNVet0oRliX4PjaINpyg0Yzd9DnQ/Wkw==",
+ "type": "package",
+ "path": "microsoft.netcore.app/2.2.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "Microsoft.NETCore.App.versions.txt",
+ "THIRD-PARTY-NOTICES.TXT",
+ "build/netcoreapp2.2/Microsoft.NETCore.App.PlatformManifest.txt",
+ "build/netcoreapp2.2/Microsoft.NETCore.App.props",
+ "build/netcoreapp2.2/Microsoft.NETCore.App.targets",
+ "microsoft.netcore.app.2.2.0.nupkg.sha512",
+ "microsoft.netcore.app.nuspec",
+ "ref/netcoreapp2.2/Microsoft.CSharp.dll",
+ "ref/netcoreapp2.2/Microsoft.CSharp.xml",
+ "ref/netcoreapp2.2/Microsoft.VisualBasic.dll",
+ "ref/netcoreapp2.2/Microsoft.VisualBasic.xml",
+ "ref/netcoreapp2.2/Microsoft.Win32.Primitives.dll",
+ "ref/netcoreapp2.2/Microsoft.Win32.Primitives.xml",
+ "ref/netcoreapp2.2/System.AppContext.dll",
+ "ref/netcoreapp2.2/System.Buffers.dll",
+ "ref/netcoreapp2.2/System.Buffers.xml",
+ "ref/netcoreapp2.2/System.Collections.Concurrent.dll",
+ "ref/netcoreapp2.2/System.Collections.Concurrent.xml",
+ "ref/netcoreapp2.2/System.Collections.Immutable.dll",
+ "ref/netcoreapp2.2/System.Collections.Immutable.xml",
+ "ref/netcoreapp2.2/System.Collections.NonGeneric.dll",
+ "ref/netcoreapp2.2/System.Collections.NonGeneric.xml",
+ "ref/netcoreapp2.2/System.Collections.Specialized.dll",
+ "ref/netcoreapp2.2/System.Collections.Specialized.xml",
+ "ref/netcoreapp2.2/System.Collections.dll",
+ "ref/netcoreapp2.2/System.Collections.xml",
+ "ref/netcoreapp2.2/System.ComponentModel.Annotations.dll",
+ "ref/netcoreapp2.2/System.ComponentModel.Annotations.xml",
+ "ref/netcoreapp2.2/System.ComponentModel.DataAnnotations.dll",
+ "ref/netcoreapp2.2/System.ComponentModel.EventBasedAsync.dll",
+ "ref/netcoreapp2.2/System.ComponentModel.EventBasedAsync.xml",
+ "ref/netcoreapp2.2/System.ComponentModel.Primitives.dll",
+ "ref/netcoreapp2.2/System.ComponentModel.Primitives.xml",
+ "ref/netcoreapp2.2/System.ComponentModel.TypeConverter.dll",
+ "ref/netcoreapp2.2/System.ComponentModel.TypeConverter.xml",
+ "ref/netcoreapp2.2/System.ComponentModel.dll",
+ "ref/netcoreapp2.2/System.ComponentModel.xml",
+ "ref/netcoreapp2.2/System.Configuration.dll",
+ "ref/netcoreapp2.2/System.Console.dll",
+ "ref/netcoreapp2.2/System.Console.xml",
+ "ref/netcoreapp2.2/System.Core.dll",
+ "ref/netcoreapp2.2/System.Data.Common.dll",
+ "ref/netcoreapp2.2/System.Data.Common.xml",
+ "ref/netcoreapp2.2/System.Data.dll",
+ "ref/netcoreapp2.2/System.Diagnostics.Contracts.dll",
+ "ref/netcoreapp2.2/System.Diagnostics.Contracts.xml",
+ "ref/netcoreapp2.2/System.Diagnostics.Debug.dll",
+ "ref/netcoreapp2.2/System.Diagnostics.Debug.xml",
+ "ref/netcoreapp2.2/System.Diagnostics.DiagnosticSource.dll",
+ "ref/netcoreapp2.2/System.Diagnostics.DiagnosticSource.xml",
+ "ref/netcoreapp2.2/System.Diagnostics.FileVersionInfo.dll",
+ "ref/netcoreapp2.2/System.Diagnostics.FileVersionInfo.xml",
+ "ref/netcoreapp2.2/System.Diagnostics.Process.dll",
+ "ref/netcoreapp2.2/System.Diagnostics.Process.xml",
+ "ref/netcoreapp2.2/System.Diagnostics.StackTrace.dll",
+ "ref/netcoreapp2.2/System.Diagnostics.StackTrace.xml",
+ "ref/netcoreapp2.2/System.Diagnostics.TextWriterTraceListener.dll",
+ "ref/netcoreapp2.2/System.Diagnostics.TextWriterTraceListener.xml",
+ "ref/netcoreapp2.2/System.Diagnostics.Tools.dll",
+ "ref/netcoreapp2.2/System.Diagnostics.Tools.xml",
+ "ref/netcoreapp2.2/System.Diagnostics.TraceSource.dll",
+ "ref/netcoreapp2.2/System.Diagnostics.TraceSource.xml",
+ "ref/netcoreapp2.2/System.Diagnostics.Tracing.dll",
+ "ref/netcoreapp2.2/System.Diagnostics.Tracing.xml",
+ "ref/netcoreapp2.2/System.Drawing.Primitives.dll",
+ "ref/netcoreapp2.2/System.Drawing.Primitives.xml",
+ "ref/netcoreapp2.2/System.Drawing.dll",
+ "ref/netcoreapp2.2/System.Dynamic.Runtime.dll",
+ "ref/netcoreapp2.2/System.Globalization.Calendars.dll",
+ "ref/netcoreapp2.2/System.Globalization.Extensions.dll",
+ "ref/netcoreapp2.2/System.Globalization.dll",
+ "ref/netcoreapp2.2/System.IO.Compression.Brotli.dll",
+ "ref/netcoreapp2.2/System.IO.Compression.FileSystem.dll",
+ "ref/netcoreapp2.2/System.IO.Compression.ZipFile.dll",
+ "ref/netcoreapp2.2/System.IO.Compression.ZipFile.xml",
+ "ref/netcoreapp2.2/System.IO.Compression.dll",
+ "ref/netcoreapp2.2/System.IO.Compression.xml",
+ "ref/netcoreapp2.2/System.IO.FileSystem.DriveInfo.dll",
+ "ref/netcoreapp2.2/System.IO.FileSystem.DriveInfo.xml",
+ "ref/netcoreapp2.2/System.IO.FileSystem.Primitives.dll",
+ "ref/netcoreapp2.2/System.IO.FileSystem.Watcher.dll",
+ "ref/netcoreapp2.2/System.IO.FileSystem.Watcher.xml",
+ "ref/netcoreapp2.2/System.IO.FileSystem.dll",
+ "ref/netcoreapp2.2/System.IO.FileSystem.xml",
+ "ref/netcoreapp2.2/System.IO.IsolatedStorage.dll",
+ "ref/netcoreapp2.2/System.IO.IsolatedStorage.xml",
+ "ref/netcoreapp2.2/System.IO.MemoryMappedFiles.dll",
+ "ref/netcoreapp2.2/System.IO.MemoryMappedFiles.xml",
+ "ref/netcoreapp2.2/System.IO.Pipes.dll",
+ "ref/netcoreapp2.2/System.IO.Pipes.xml",
+ "ref/netcoreapp2.2/System.IO.UnmanagedMemoryStream.dll",
+ "ref/netcoreapp2.2/System.IO.dll",
+ "ref/netcoreapp2.2/System.Linq.Expressions.dll",
+ "ref/netcoreapp2.2/System.Linq.Expressions.xml",
+ "ref/netcoreapp2.2/System.Linq.Parallel.dll",
+ "ref/netcoreapp2.2/System.Linq.Parallel.xml",
+ "ref/netcoreapp2.2/System.Linq.Queryable.dll",
+ "ref/netcoreapp2.2/System.Linq.Queryable.xml",
+ "ref/netcoreapp2.2/System.Linq.dll",
+ "ref/netcoreapp2.2/System.Linq.xml",
+ "ref/netcoreapp2.2/System.Memory.dll",
+ "ref/netcoreapp2.2/System.Memory.xml",
+ "ref/netcoreapp2.2/System.Net.Http.dll",
+ "ref/netcoreapp2.2/System.Net.Http.xml",
+ "ref/netcoreapp2.2/System.Net.HttpListener.dll",
+ "ref/netcoreapp2.2/System.Net.HttpListener.xml",
+ "ref/netcoreapp2.2/System.Net.Mail.dll",
+ "ref/netcoreapp2.2/System.Net.Mail.xml",
+ "ref/netcoreapp2.2/System.Net.NameResolution.dll",
+ "ref/netcoreapp2.2/System.Net.NameResolution.xml",
+ "ref/netcoreapp2.2/System.Net.NetworkInformation.dll",
+ "ref/netcoreapp2.2/System.Net.NetworkInformation.xml",
+ "ref/netcoreapp2.2/System.Net.Ping.dll",
+ "ref/netcoreapp2.2/System.Net.Ping.xml",
+ "ref/netcoreapp2.2/System.Net.Primitives.dll",
+ "ref/netcoreapp2.2/System.Net.Primitives.xml",
+ "ref/netcoreapp2.2/System.Net.Requests.dll",
+ "ref/netcoreapp2.2/System.Net.Requests.xml",
+ "ref/netcoreapp2.2/System.Net.Security.dll",
+ "ref/netcoreapp2.2/System.Net.Security.xml",
+ "ref/netcoreapp2.2/System.Net.ServicePoint.dll",
+ "ref/netcoreapp2.2/System.Net.ServicePoint.xml",
+ "ref/netcoreapp2.2/System.Net.Sockets.dll",
+ "ref/netcoreapp2.2/System.Net.Sockets.xml",
+ "ref/netcoreapp2.2/System.Net.WebClient.dll",
+ "ref/netcoreapp2.2/System.Net.WebClient.xml",
+ "ref/netcoreapp2.2/System.Net.WebHeaderCollection.dll",
+ "ref/netcoreapp2.2/System.Net.WebHeaderCollection.xml",
+ "ref/netcoreapp2.2/System.Net.WebProxy.dll",
+ "ref/netcoreapp2.2/System.Net.WebProxy.xml",
+ "ref/netcoreapp2.2/System.Net.WebSockets.Client.dll",
+ "ref/netcoreapp2.2/System.Net.WebSockets.Client.xml",
+ "ref/netcoreapp2.2/System.Net.WebSockets.dll",
+ "ref/netcoreapp2.2/System.Net.WebSockets.xml",
+ "ref/netcoreapp2.2/System.Net.dll",
+ "ref/netcoreapp2.2/System.Numerics.Vectors.dll",
+ "ref/netcoreapp2.2/System.Numerics.Vectors.xml",
+ "ref/netcoreapp2.2/System.Numerics.dll",
+ "ref/netcoreapp2.2/System.ObjectModel.dll",
+ "ref/netcoreapp2.2/System.ObjectModel.xml",
+ "ref/netcoreapp2.2/System.Reflection.DispatchProxy.dll",
+ "ref/netcoreapp2.2/System.Reflection.DispatchProxy.xml",
+ "ref/netcoreapp2.2/System.Reflection.Emit.ILGeneration.dll",
+ "ref/netcoreapp2.2/System.Reflection.Emit.ILGeneration.xml",
+ "ref/netcoreapp2.2/System.Reflection.Emit.Lightweight.dll",
+ "ref/netcoreapp2.2/System.Reflection.Emit.Lightweight.xml",
+ "ref/netcoreapp2.2/System.Reflection.Emit.dll",
+ "ref/netcoreapp2.2/System.Reflection.Emit.xml",
+ "ref/netcoreapp2.2/System.Reflection.Extensions.dll",
+ "ref/netcoreapp2.2/System.Reflection.Metadata.dll",
+ "ref/netcoreapp2.2/System.Reflection.Metadata.xml",
+ "ref/netcoreapp2.2/System.Reflection.Primitives.dll",
+ "ref/netcoreapp2.2/System.Reflection.Primitives.xml",
+ "ref/netcoreapp2.2/System.Reflection.TypeExtensions.dll",
+ "ref/netcoreapp2.2/System.Reflection.TypeExtensions.xml",
+ "ref/netcoreapp2.2/System.Reflection.dll",
+ "ref/netcoreapp2.2/System.Resources.Reader.dll",
+ "ref/netcoreapp2.2/System.Resources.ResourceManager.dll",
+ "ref/netcoreapp2.2/System.Resources.ResourceManager.xml",
+ "ref/netcoreapp2.2/System.Resources.Writer.dll",
+ "ref/netcoreapp2.2/System.Resources.Writer.xml",
+ "ref/netcoreapp2.2/System.Runtime.CompilerServices.VisualC.dll",
+ "ref/netcoreapp2.2/System.Runtime.CompilerServices.VisualC.xml",
+ "ref/netcoreapp2.2/System.Runtime.Extensions.dll",
+ "ref/netcoreapp2.2/System.Runtime.Extensions.xml",
+ "ref/netcoreapp2.2/System.Runtime.Handles.dll",
+ "ref/netcoreapp2.2/System.Runtime.InteropServices.RuntimeInformation.dll",
+ "ref/netcoreapp2.2/System.Runtime.InteropServices.RuntimeInformation.xml",
+ "ref/netcoreapp2.2/System.Runtime.InteropServices.WindowsRuntime.dll",
+ "ref/netcoreapp2.2/System.Runtime.InteropServices.WindowsRuntime.xml",
+ "ref/netcoreapp2.2/System.Runtime.InteropServices.dll",
+ "ref/netcoreapp2.2/System.Runtime.InteropServices.xml",
+ "ref/netcoreapp2.2/System.Runtime.Loader.dll",
+ "ref/netcoreapp2.2/System.Runtime.Loader.xml",
+ "ref/netcoreapp2.2/System.Runtime.Numerics.dll",
+ "ref/netcoreapp2.2/System.Runtime.Numerics.xml",
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Formatters.dll",
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Formatters.xml",
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Json.dll",
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Json.xml",
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Primitives.dll",
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Primitives.xml",
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Xml.dll",
+ "ref/netcoreapp2.2/System.Runtime.Serialization.Xml.xml",
+ "ref/netcoreapp2.2/System.Runtime.Serialization.dll",
+ "ref/netcoreapp2.2/System.Runtime.dll",
+ "ref/netcoreapp2.2/System.Runtime.xml",
+ "ref/netcoreapp2.2/System.Security.Claims.dll",
+ "ref/netcoreapp2.2/System.Security.Claims.xml",
+ "ref/netcoreapp2.2/System.Security.Cryptography.Algorithms.dll",
+ "ref/netcoreapp2.2/System.Security.Cryptography.Algorithms.xml",
+ "ref/netcoreapp2.2/System.Security.Cryptography.Csp.dll",
+ "ref/netcoreapp2.2/System.Security.Cryptography.Csp.xml",
+ "ref/netcoreapp2.2/System.Security.Cryptography.Encoding.dll",
+ "ref/netcoreapp2.2/System.Security.Cryptography.Encoding.xml",
+ "ref/netcoreapp2.2/System.Security.Cryptography.Primitives.dll",
+ "ref/netcoreapp2.2/System.Security.Cryptography.Primitives.xml",
+ "ref/netcoreapp2.2/System.Security.Cryptography.X509Certificates.dll",
+ "ref/netcoreapp2.2/System.Security.Cryptography.X509Certificates.xml",
+ "ref/netcoreapp2.2/System.Security.Principal.dll",
+ "ref/netcoreapp2.2/System.Security.Principal.xml",
+ "ref/netcoreapp2.2/System.Security.SecureString.dll",
+ "ref/netcoreapp2.2/System.Security.dll",
+ "ref/netcoreapp2.2/System.ServiceModel.Web.dll",
+ "ref/netcoreapp2.2/System.ServiceProcess.dll",
+ "ref/netcoreapp2.2/System.Text.Encoding.Extensions.dll",
+ "ref/netcoreapp2.2/System.Text.Encoding.Extensions.xml",
+ "ref/netcoreapp2.2/System.Text.Encoding.dll",
+ "ref/netcoreapp2.2/System.Text.RegularExpressions.dll",
+ "ref/netcoreapp2.2/System.Text.RegularExpressions.xml",
+ "ref/netcoreapp2.2/System.Threading.Overlapped.dll",
+ "ref/netcoreapp2.2/System.Threading.Overlapped.xml",
+ "ref/netcoreapp2.2/System.Threading.Tasks.Dataflow.dll",
+ "ref/netcoreapp2.2/System.Threading.Tasks.Dataflow.xml",
+ "ref/netcoreapp2.2/System.Threading.Tasks.Extensions.dll",
+ "ref/netcoreapp2.2/System.Threading.Tasks.Extensions.xml",
+ "ref/netcoreapp2.2/System.Threading.Tasks.Parallel.dll",
+ "ref/netcoreapp2.2/System.Threading.Tasks.Parallel.xml",
+ "ref/netcoreapp2.2/System.Threading.Tasks.dll",
+ "ref/netcoreapp2.2/System.Threading.Tasks.xml",
+ "ref/netcoreapp2.2/System.Threading.Thread.dll",
+ "ref/netcoreapp2.2/System.Threading.Thread.xml",
+ "ref/netcoreapp2.2/System.Threading.ThreadPool.dll",
+ "ref/netcoreapp2.2/System.Threading.ThreadPool.xml",
+ "ref/netcoreapp2.2/System.Threading.Timer.dll",
+ "ref/netcoreapp2.2/System.Threading.Timer.xml",
+ "ref/netcoreapp2.2/System.Threading.dll",
+ "ref/netcoreapp2.2/System.Threading.xml",
+ "ref/netcoreapp2.2/System.Transactions.Local.dll",
+ "ref/netcoreapp2.2/System.Transactions.Local.xml",
+ "ref/netcoreapp2.2/System.Transactions.dll",
+ "ref/netcoreapp2.2/System.ValueTuple.dll",
+ "ref/netcoreapp2.2/System.Web.HttpUtility.dll",
+ "ref/netcoreapp2.2/System.Web.HttpUtility.xml",
+ "ref/netcoreapp2.2/System.Web.dll",
+ "ref/netcoreapp2.2/System.Windows.dll",
+ "ref/netcoreapp2.2/System.Xml.Linq.dll",
+ "ref/netcoreapp2.2/System.Xml.ReaderWriter.dll",
+ "ref/netcoreapp2.2/System.Xml.ReaderWriter.xml",
+ "ref/netcoreapp2.2/System.Xml.Serialization.dll",
+ "ref/netcoreapp2.2/System.Xml.XDocument.dll",
+ "ref/netcoreapp2.2/System.Xml.XDocument.xml",
+ "ref/netcoreapp2.2/System.Xml.XPath.XDocument.dll",
+ "ref/netcoreapp2.2/System.Xml.XPath.XDocument.xml",
+ "ref/netcoreapp2.2/System.Xml.XPath.dll",
+ "ref/netcoreapp2.2/System.Xml.XPath.xml",
+ "ref/netcoreapp2.2/System.Xml.XmlDocument.dll",
+ "ref/netcoreapp2.2/System.Xml.XmlSerializer.dll",
+ "ref/netcoreapp2.2/System.Xml.XmlSerializer.xml",
+ "ref/netcoreapp2.2/System.Xml.dll",
+ "ref/netcoreapp2.2/System.dll",
+ "ref/netcoreapp2.2/WindowsBase.dll",
+ "ref/netcoreapp2.2/mscorlib.dll",
+ "ref/netcoreapp2.2/netstandard.dll",
+ "runtime.json"
+ ]
+ },
+ "Microsoft.NETCore.DotNetAppHost/2.2.0": {
+ "sha512": "qIrVLupwT2NYTrf7KM7Nh+mJr36V5MITVRjyGOByVVCwGmQgQmI/6bjZYQv+QdExi4Cm87eCKJX9FdT6nc00Xg==",
+ "type": "package",
+ "path": "microsoft.netcore.dotnetapphost/2.2.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "microsoft.netcore.dotnetapphost.2.2.0.nupkg.sha512",
+ "microsoft.netcore.dotnetapphost.nuspec",
+ "runtime.json"
+ ]
+ },
+ "Microsoft.NETCore.DotNetHostPolicy/2.2.0": {
+ "sha512": "5Xvh/3bDr6YAl6TKfeONvRDZ9QOmvVmzFzA0M6g8uubWdf5/o6qdVOqByFBT/fhjVb6okP0E5+v1oxh1Pk+c+w==",
+ "type": "package",
+ "path": "microsoft.netcore.dotnethostpolicy/2.2.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "microsoft.netcore.dotnethostpolicy.2.2.0.nupkg.sha512",
+ "microsoft.netcore.dotnethostpolicy.nuspec",
+ "runtime.json"
+ ]
+ },
+ "Microsoft.NETCore.DotNetHostResolver/2.2.0": {
+ "sha512": "Q3j3KC2ugqIVasf7pO4NRDEn7GysZX3ZH6fAHfbjrP8cYXY9cmHeFcbaniw36q8kFhsPt2EnRHzSsLBpbG6l2Q==",
+ "type": "package",
+ "path": "microsoft.netcore.dotnethostresolver/2.2.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "microsoft.netcore.dotnethostresolver.2.2.0.nupkg.sha512",
+ "microsoft.netcore.dotnethostresolver.nuspec",
+ "runtime.json"
+ ]
+ },
+ "Microsoft.NETCore.Platforms/2.2.0": {
+ "sha512": "39+GVHdbm+cmoOjdvm+fhiMbddnuVyUlBdYS8Yhn5xsNaBoTXpgBsxQQlI2Sv9EjIP0F+itG6yrDaOM2OEGupQ==",
+ "type": "package",
+ "path": "microsoft.netcore.platforms/2.2.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/netstandard1.0/_._",
+ "microsoft.netcore.platforms.2.2.0.nupkg.sha512",
+ "microsoft.netcore.platforms.nuspec",
+ "runtime.json",
+ "useSharedDesignerContext.txt",
+ "version.txt"
+ ]
+ },
+ "Microsoft.NETCore.Targets/2.0.0": {
+ "sha512": "odP/tJj1z6GylFpNo7pMtbd/xQgTC3Ex2If63dRTL38bBNMwsBnJ+RceUIyHdRBC0oik/3NehYT+oECwBhIM3Q==",
+ "type": "package",
+ "path": "microsoft.netcore.targets/2.0.0",
+ "files": [
+ ".nupkg.metadata",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/netstandard1.0/_._",
+ "microsoft.netcore.targets.2.0.0.nupkg.sha512",
+ "microsoft.netcore.targets.nuspec",
+ "runtime.json",
+ "useSharedDesignerContext.txt",
+ "version.txt"
+ ]
+ },
+ "NETStandard.Library/2.0.3": {
+ "sha512": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+ "type": "package",
+ "path": "netstandard.library/2.0.3",
+ "files": [
+ ".nupkg.metadata",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "build/netstandard2.0/NETStandard.Library.targets",
+ "build/netstandard2.0/ref/Microsoft.Win32.Primitives.dll",
+ "build/netstandard2.0/ref/System.AppContext.dll",
+ "build/netstandard2.0/ref/System.Collections.Concurrent.dll",
+ "build/netstandard2.0/ref/System.Collections.NonGeneric.dll",
+ "build/netstandard2.0/ref/System.Collections.Specialized.dll",
+ "build/netstandard2.0/ref/System.Collections.dll",
+ "build/netstandard2.0/ref/System.ComponentModel.Composition.dll",
+ "build/netstandard2.0/ref/System.ComponentModel.EventBasedAsync.dll",
+ "build/netstandard2.0/ref/System.ComponentModel.Primitives.dll",
+ "build/netstandard2.0/ref/System.ComponentModel.TypeConverter.dll",
+ "build/netstandard2.0/ref/System.ComponentModel.dll",
+ "build/netstandard2.0/ref/System.Console.dll",
+ "build/netstandard2.0/ref/System.Core.dll",
+ "build/netstandard2.0/ref/System.Data.Common.dll",
+ "build/netstandard2.0/ref/System.Data.dll",
+ "build/netstandard2.0/ref/System.Diagnostics.Contracts.dll",
+ "build/netstandard2.0/ref/System.Diagnostics.Debug.dll",
+ "build/netstandard2.0/ref/System.Diagnostics.FileVersionInfo.dll",
+ "build/netstandard2.0/ref/System.Diagnostics.Process.dll",
+ "build/netstandard2.0/ref/System.Diagnostics.StackTrace.dll",
+ "build/netstandard2.0/ref/System.Diagnostics.TextWriterTraceListener.dll",
+ "build/netstandard2.0/ref/System.Diagnostics.Tools.dll",
+ "build/netstandard2.0/ref/System.Diagnostics.TraceSource.dll",
+ "build/netstandard2.0/ref/System.Diagnostics.Tracing.dll",
+ "build/netstandard2.0/ref/System.Drawing.Primitives.dll",
+ "build/netstandard2.0/ref/System.Drawing.dll",
+ "build/netstandard2.0/ref/System.Dynamic.Runtime.dll",
+ "build/netstandard2.0/ref/System.Globalization.Calendars.dll",
+ "build/netstandard2.0/ref/System.Globalization.Extensions.dll",
+ "build/netstandard2.0/ref/System.Globalization.dll",
+ "build/netstandard2.0/ref/System.IO.Compression.FileSystem.dll",
+ "build/netstandard2.0/ref/System.IO.Compression.ZipFile.dll",
+ "build/netstandard2.0/ref/System.IO.Compression.dll",
+ "build/netstandard2.0/ref/System.IO.FileSystem.DriveInfo.dll",
+ "build/netstandard2.0/ref/System.IO.FileSystem.Primitives.dll",
+ "build/netstandard2.0/ref/System.IO.FileSystem.Watcher.dll",
+ "build/netstandard2.0/ref/System.IO.FileSystem.dll",
+ "build/netstandard2.0/ref/System.IO.IsolatedStorage.dll",
+ "build/netstandard2.0/ref/System.IO.MemoryMappedFiles.dll",
+ "build/netstandard2.0/ref/System.IO.Pipes.dll",
+ "build/netstandard2.0/ref/System.IO.UnmanagedMemoryStream.dll",
+ "build/netstandard2.0/ref/System.IO.dll",
+ "build/netstandard2.0/ref/System.Linq.Expressions.dll",
+ "build/netstandard2.0/ref/System.Linq.Parallel.dll",
+ "build/netstandard2.0/ref/System.Linq.Queryable.dll",
+ "build/netstandard2.0/ref/System.Linq.dll",
+ "build/netstandard2.0/ref/System.Net.Http.dll",
+ "build/netstandard2.0/ref/System.Net.NameResolution.dll",
+ "build/netstandard2.0/ref/System.Net.NetworkInformation.dll",
+ "build/netstandard2.0/ref/System.Net.Ping.dll",
+ "build/netstandard2.0/ref/System.Net.Primitives.dll",
+ "build/netstandard2.0/ref/System.Net.Requests.dll",
+ "build/netstandard2.0/ref/System.Net.Security.dll",
+ "build/netstandard2.0/ref/System.Net.Sockets.dll",
+ "build/netstandard2.0/ref/System.Net.WebHeaderCollection.dll",
+ "build/netstandard2.0/ref/System.Net.WebSockets.Client.dll",
+ "build/netstandard2.0/ref/System.Net.WebSockets.dll",
+ "build/netstandard2.0/ref/System.Net.dll",
+ "build/netstandard2.0/ref/System.Numerics.dll",
+ "build/netstandard2.0/ref/System.ObjectModel.dll",
+ "build/netstandard2.0/ref/System.Reflection.Extensions.dll",
+ "build/netstandard2.0/ref/System.Reflection.Primitives.dll",
+ "build/netstandard2.0/ref/System.Reflection.dll",
+ "build/netstandard2.0/ref/System.Resources.Reader.dll",
+ "build/netstandard2.0/ref/System.Resources.ResourceManager.dll",
+ "build/netstandard2.0/ref/System.Resources.Writer.dll",
+ "build/netstandard2.0/ref/System.Runtime.CompilerServices.VisualC.dll",
+ "build/netstandard2.0/ref/System.Runtime.Extensions.dll",
+ "build/netstandard2.0/ref/System.Runtime.Handles.dll",
+ "build/netstandard2.0/ref/System.Runtime.InteropServices.RuntimeInformation.dll",
+ "build/netstandard2.0/ref/System.Runtime.InteropServices.dll",
+ "build/netstandard2.0/ref/System.Runtime.Numerics.dll",
+ "build/netstandard2.0/ref/System.Runtime.Serialization.Formatters.dll",
+ "build/netstandard2.0/ref/System.Runtime.Serialization.Json.dll",
+ "build/netstandard2.0/ref/System.Runtime.Serialization.Primitives.dll",
+ "build/netstandard2.0/ref/System.Runtime.Serialization.Xml.dll",
+ "build/netstandard2.0/ref/System.Runtime.Serialization.dll",
+ "build/netstandard2.0/ref/System.Runtime.dll",
+ "build/netstandard2.0/ref/System.Security.Claims.dll",
+ "build/netstandard2.0/ref/System.Security.Cryptography.Algorithms.dll",
+ "build/netstandard2.0/ref/System.Security.Cryptography.Csp.dll",
+ "build/netstandard2.0/ref/System.Security.Cryptography.Encoding.dll",
+ "build/netstandard2.0/ref/System.Security.Cryptography.Primitives.dll",
+ "build/netstandard2.0/ref/System.Security.Cryptography.X509Certificates.dll",
+ "build/netstandard2.0/ref/System.Security.Principal.dll",
+ "build/netstandard2.0/ref/System.Security.SecureString.dll",
+ "build/netstandard2.0/ref/System.ServiceModel.Web.dll",
+ "build/netstandard2.0/ref/System.Text.Encoding.Extensions.dll",
+ "build/netstandard2.0/ref/System.Text.Encoding.dll",
+ "build/netstandard2.0/ref/System.Text.RegularExpressions.dll",
+ "build/netstandard2.0/ref/System.Threading.Overlapped.dll",
+ "build/netstandard2.0/ref/System.Threading.Tasks.Parallel.dll",
+ "build/netstandard2.0/ref/System.Threading.Tasks.dll",
+ "build/netstandard2.0/ref/System.Threading.Thread.dll",
+ "build/netstandard2.0/ref/System.Threading.ThreadPool.dll",
+ "build/netstandard2.0/ref/System.Threading.Timer.dll",
+ "build/netstandard2.0/ref/System.Threading.dll",
+ "build/netstandard2.0/ref/System.Transactions.dll",
+ "build/netstandard2.0/ref/System.ValueTuple.dll",
+ "build/netstandard2.0/ref/System.Web.dll",
+ "build/netstandard2.0/ref/System.Windows.dll",
+ "build/netstandard2.0/ref/System.Xml.Linq.dll",
+ "build/netstandard2.0/ref/System.Xml.ReaderWriter.dll",
+ "build/netstandard2.0/ref/System.Xml.Serialization.dll",
+ "build/netstandard2.0/ref/System.Xml.XDocument.dll",
+ "build/netstandard2.0/ref/System.Xml.XPath.XDocument.dll",
+ "build/netstandard2.0/ref/System.Xml.XPath.dll",
+ "build/netstandard2.0/ref/System.Xml.XmlDocument.dll",
+ "build/netstandard2.0/ref/System.Xml.XmlSerializer.dll",
+ "build/netstandard2.0/ref/System.Xml.dll",
+ "build/netstandard2.0/ref/System.dll",
+ "build/netstandard2.0/ref/mscorlib.dll",
+ "build/netstandard2.0/ref/netstandard.dll",
+ "build/netstandard2.0/ref/netstandard.xml",
+ "lib/netstandard1.0/_._",
+ "netstandard.library.2.0.3.nupkg.sha512",
+ "netstandard.library.nuspec"
+ ]
+ },
+ "runtime.win-x86.Microsoft.NETCore.App/2.2.0": {
+ "sha512": "6wstJdLPjXFV8S4Xb84bUqvb4ANevx3dk/jxrWxk424doIbW+08ySrjuG74uwsLx20jqXS9u9IwTsGP+YagXUw==",
+ "type": "package",
+ "path": "runtime.win-x86.microsoft.netcore.app/2.2.0",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "Microsoft.NETCore.App.versions.txt",
+ "THIRD-PARTY-NOTICES.TXT",
+ "ref/netstandard/_._",
+ "runtime.win-x86.microsoft.netcore.app.2.2.0.nupkg.sha512",
+ "runtime.win-x86.microsoft.netcore.app.nuspec",
+ "runtimes/win-x86/lib/netcoreapp2.2/Microsoft.CSharp.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/Microsoft.VisualBasic.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/Microsoft.Win32.Primitives.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/Microsoft.Win32.Registry.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/SOS.NETCore.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.AppContext.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Buffers.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Collections.Concurrent.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Collections.Immutable.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Collections.NonGeneric.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Collections.Specialized.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Collections.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ComponentModel.Annotations.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ComponentModel.DataAnnotations.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ComponentModel.EventBasedAsync.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ComponentModel.Primitives.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ComponentModel.TypeConverter.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ComponentModel.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Configuration.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Console.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Core.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Data.Common.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Data.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.Contracts.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.Debug.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.DiagnosticSource.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.FileVersionInfo.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.Process.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.StackTrace.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.TextWriterTraceListener.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.Tools.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.TraceSource.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Diagnostics.Tracing.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Drawing.Primitives.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Drawing.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Dynamic.Runtime.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Globalization.Calendars.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Globalization.Extensions.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Globalization.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.Compression.Brotli.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.Compression.FileSystem.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.Compression.ZipFile.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.Compression.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.FileSystem.AccessControl.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.FileSystem.DriveInfo.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.FileSystem.Primitives.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.FileSystem.Watcher.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.FileSystem.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.IsolatedStorage.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.MemoryMappedFiles.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.Pipes.AccessControl.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.Pipes.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.UnmanagedMemoryStream.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.IO.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Linq.Expressions.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Linq.Parallel.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Linq.Queryable.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Linq.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Memory.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Http.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.HttpListener.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Mail.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.NameResolution.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.NetworkInformation.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Ping.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Primitives.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Requests.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Security.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.ServicePoint.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.Sockets.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.WebClient.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.WebHeaderCollection.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.WebProxy.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.WebSockets.Client.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.WebSockets.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Net.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Numerics.Vectors.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Numerics.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ObjectModel.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Private.DataContractSerialization.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Private.Uri.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Private.Xml.Linq.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Private.Xml.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.DispatchProxy.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.Emit.ILGeneration.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.Emit.Lightweight.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.Emit.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.Extensions.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.Metadata.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.Primitives.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.TypeExtensions.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Reflection.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Resources.Reader.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Resources.ResourceManager.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Resources.Writer.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.CompilerServices.VisualC.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Extensions.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Handles.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.InteropServices.RuntimeInformation.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.InteropServices.WindowsRuntime.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.InteropServices.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Loader.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Numerics.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Serialization.Formatters.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Serialization.Json.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Serialization.Primitives.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Serialization.Xml.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.Serialization.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Runtime.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.AccessControl.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Claims.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.Algorithms.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.Cng.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.Csp.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.Encoding.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.OpenSsl.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.Primitives.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Cryptography.X509Certificates.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Principal.Windows.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.Principal.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.SecureString.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Security.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ServiceModel.Web.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ServiceProcess.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Text.Encoding.Extensions.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Text.Encoding.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Text.RegularExpressions.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Overlapped.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Tasks.Dataflow.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Tasks.Extensions.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Tasks.Parallel.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Tasks.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Thread.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.ThreadPool.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.Timer.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Threading.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Transactions.Local.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Transactions.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.ValueTuple.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Web.HttpUtility.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Web.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Windows.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.Linq.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.ReaderWriter.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.Serialization.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.XDocument.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.XPath.XDocument.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.XPath.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.XmlDocument.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.XmlSerializer.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.Xml.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/System.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/WindowsBase.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/mscorlib.dll",
+ "runtimes/win-x86/lib/netcoreapp2.2/netstandard.dll",
+ "runtimes/win-x86/native/API-MS-Win-core-xstate-l2-1-0.dll",
+ "runtimes/win-x86/native/Microsoft.DiaSymReader.Native.x86.dll",
+ "runtimes/win-x86/native/System.Private.CoreLib.dll",
+ "runtimes/win-x86/native/api-ms-win-core-console-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-datetime-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-debug-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-errorhandling-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-file-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-file-l1-2-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-file-l2-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-handle-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-heap-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-interlocked-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-libraryloader-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-localization-l1-2-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-memory-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-namedpipe-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-processenvironment-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-processthreads-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-processthreads-l1-1-1.dll",
+ "runtimes/win-x86/native/api-ms-win-core-profile-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-rtlsupport-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-string-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-synch-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-synch-l1-2-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-sysinfo-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-timezone-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-core-util-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-conio-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-convert-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-environment-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-filesystem-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-heap-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-locale-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-math-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-multibyte-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-private-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-process-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-runtime-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-stdio-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-string-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-time-l1-1-0.dll",
+ "runtimes/win-x86/native/api-ms-win-crt-utility-l1-1-0.dll",
+ "runtimes/win-x86/native/clrcompression.dll",
+ "runtimes/win-x86/native/clretwrc.dll",
+ "runtimes/win-x86/native/clrjit.dll",
+ "runtimes/win-x86/native/coreclr.dll",
+ "runtimes/win-x86/native/dbgshim.dll",
+ "runtimes/win-x86/native/mscordaccore.dll",
+ "runtimes/win-x86/native/mscordaccore_x86_x86_4.6.27110.04.dll",
+ "runtimes/win-x86/native/mscordbi.dll",
+ "runtimes/win-x86/native/mscorrc.debug.dll",
+ "runtimes/win-x86/native/mscorrc.dll",
+ "runtimes/win-x86/native/sos.dll",
+ "runtimes/win-x86/native/sos_x86_x86_4.6.27110.04.dll",
+ "runtimes/win-x86/native/ucrtbase.dll",
+ "tools/crossgen.exe"
+ ]
+ },
+ "runtime.win-x86.Microsoft.NETCore.DotNetAppHost/2.2.0": {
+ "sha512": "swMehmQwn+yo4UZWLOpByPGuQ1hkrMxSodd6SEnAH1RvF/JXLExxHHquVyRtuJoS2etGNWrbCIt04/guh0lAIA==",
+ "type": "package",
+ "path": "runtime.win-x86.microsoft.netcore.dotnetapphost/2.2.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "runtime.win-x86.microsoft.netcore.dotnetapphost.2.2.0.nupkg.sha512",
+ "runtime.win-x86.microsoft.netcore.dotnetapphost.nuspec",
+ "runtimes/win-x86/native/apphost.exe",
+ "version.txt"
+ ]
+ },
+ "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy/2.2.0": {
+ "sha512": "O1hzNG/RzDF9ZpaAzxYiKoJs1RWyuVNN/F9fmsx2f9mTEooaEZ/1cC6aJwenyr0HERhOUZXn/N9wFRGPAtTR1g==",
+ "type": "package",
+ "path": "runtime.win-x86.microsoft.netcore.dotnethostpolicy/2.2.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "runtime.win-x86.microsoft.netcore.dotnethostpolicy.2.2.0.nupkg.sha512",
+ "runtime.win-x86.microsoft.netcore.dotnethostpolicy.nuspec",
+ "runtimes/win-x86/native/hostpolicy.dll",
+ "version.txt"
+ ]
+ },
+ "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver/2.2.0": {
+ "sha512": "z1cb9ImygCQbktPj89/KjLJ5pTGkznwzu2IypXB3SowFE8VanEwJs3XyEwnkcHpItvY3PPssjOCKTc/194BVeg==",
+ "type": "package",
+ "path": "runtime.win-x86.microsoft.netcore.dotnethostresolver/2.2.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "runtime.win-x86.microsoft.netcore.dotnethostresolver.2.2.0.nupkg.sha512",
+ "runtime.win-x86.microsoft.netcore.dotnethostresolver.nuspec",
+ "runtimes/win-x86/native/hostfxr.dll",
+ "version.txt"
+ ]
+ },
+ "Caching.dll/1.3.3": {
+ "type": "project",
+ "path": "../Caching/Caching.csproj",
+ "msbuildProject": "../Caching/Caching.csproj"
+ }
+ },
+ "projectFileDependencyGroups": {
+ ".NETCoreApp,Version=v2.2": [
+ "Caching.dll >= 1.3.3",
+ "Microsoft.NETCore.App >= 2.2.0"
+ ],
+ ".NETFramework,Version=v4.5.2": [
+ "Caching.dll >= 1.3.3"
+ ]
+ },
+ "packageFolders": {
+ "C:\\Users\\joelc\\.nuget\\packages\\": {},
+ "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Code\\Misc\\Caching\\Test\\Test.csproj",
+ "projectName": "Test",
+ "projectPath": "C:\\Code\\Misc\\Caching\\Test\\Test.csproj",
+ "packagesPath": "C:\\Users\\joelc\\.nuget\\packages\\",
+ "outputPath": "C:\\Code\\Misc\\Caching\\Test\\obj\\",
+ "projectStyle": "PackageReference",
+ "crossTargeting": true,
+ "fallbackFolders": [
+ "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\joelc\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net452",
+ "netcoreapp2.2"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "netcoreapp2.2": {
+ "projectReferences": {
+ "C:\\Code\\Misc\\Caching\\Caching\\Caching.csproj": {
+ "projectPath": "C:\\Code\\Misc\\Caching\\Caching\\Caching.csproj"
+ }
+ }
+ },
+ "net452": {
+ "projectReferences": {
+ "C:\\Code\\Misc\\Caching\\Caching\\Caching.csproj": {
+ "projectPath": "C:\\Code\\Misc\\Caching\\Caching\\Caching.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ }
+ },
+ "frameworks": {
+ "netcoreapp2.2": {
+ "dependencies": {
+ "Microsoft.NETCore.App": {
+ "suppressParent": "All",
+ "target": "Package",
+ "version": "[2.2.0, )",
+ "autoReferenced": true
+ }
+ },
+ "imports": [
+ "net461"
+ ],
+ "assetTargetFallback": true,
+ "warn": true
+ },
+ "net452": {}
+ },
+ "runtimes": {
+ "win7-x86": {
+ "#import": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/TestNetCore/bin/Debug/netcoreapp2.2/Caching.dll b/TestNetCore/bin/Debug/netcoreapp2.2/Caching.dll
deleted file mode 100644
index 44a3c80..0000000
Binary files a/TestNetCore/bin/Debug/netcoreapp2.2/Caching.dll and /dev/null differ
diff --git a/TestNetCore/bin/Debug/netcoreapp2.2/Caching.pdb b/TestNetCore/bin/Debug/netcoreapp2.2/Caching.pdb
deleted file mode 100644
index a72867e..0000000
Binary files a/TestNetCore/bin/Debug/netcoreapp2.2/Caching.pdb and /dev/null differ
diff --git a/TestNetCore/bin/Release/netcoreapp2.2/Caching.dll b/TestNetCore/bin/Release/netcoreapp2.2/Caching.dll
deleted file mode 100644
index 7454fae..0000000
Binary files a/TestNetCore/bin/Release/netcoreapp2.2/Caching.dll and /dev/null differ
diff --git a/TestNetCore/bin/Release/netcoreapp2.2/Caching.pdb b/TestNetCore/bin/Release/netcoreapp2.2/Caching.pdb
deleted file mode 100644
index 87d099d..0000000
Binary files a/TestNetCore/bin/Release/netcoreapp2.2/Caching.pdb and /dev/null differ
diff --git a/TestNetCore/obj/project.assets.json b/TestNetCore/obj/project.assets.json
deleted file mode 100644
index 661e1ec..0000000
--- a/TestNetCore/obj/project.assets.json
+++ /dev/null
@@ -1,844 +0,0 @@
-{
- "version": 3,
- "targets": {
- ".NETCoreApp,Version=v2.2": {
- "Microsoft.CSharp/4.5.0": {
- "type": "package",
- "compile": {
- "ref/netcoreapp2.0/_._": {}
- },
- "runtime": {
- "lib/netcoreapp2.0/_._": {}
- }
- },
- "Microsoft.NETCore.App/2.2.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.DotNetHostPolicy": "2.2.0",
- "Microsoft.NETCore.Platforms": "2.2.0",
- "Microsoft.NETCore.Targets": "2.0.0",
- "NETStandard.Library": "2.0.3"
- },
- "compile": {
- "ref/netcoreapp2.2/Microsoft.CSharp.dll": {},
- "ref/netcoreapp2.2/Microsoft.VisualBasic.dll": {},
- "ref/netcoreapp2.2/Microsoft.Win32.Primitives.dll": {},
- "ref/netcoreapp2.2/System.AppContext.dll": {},
- "ref/netcoreapp2.2/System.Buffers.dll": {},
- "ref/netcoreapp2.2/System.Collections.Concurrent.dll": {},
- "ref/netcoreapp2.2/System.Collections.Immutable.dll": {},
- "ref/netcoreapp2.2/System.Collections.NonGeneric.dll": {},
- "ref/netcoreapp2.2/System.Collections.Specialized.dll": {},
- "ref/netcoreapp2.2/System.Collections.dll": {},
- "ref/netcoreapp2.2/System.ComponentModel.Annotations.dll": {},
- "ref/netcoreapp2.2/System.ComponentModel.DataAnnotations.dll": {},
- "ref/netcoreapp2.2/System.ComponentModel.EventBasedAsync.dll": {},
- "ref/netcoreapp2.2/System.ComponentModel.Primitives.dll": {},
- "ref/netcoreapp2.2/System.ComponentModel.TypeConverter.dll": {},
- "ref/netcoreapp2.2/System.ComponentModel.dll": {},
- "ref/netcoreapp2.2/System.Configuration.dll": {},
- "ref/netcoreapp2.2/System.Console.dll": {},
- "ref/netcoreapp2.2/System.Core.dll": {},
- "ref/netcoreapp2.2/System.Data.Common.dll": {},
- "ref/netcoreapp2.2/System.Data.dll": {},
- "ref/netcoreapp2.2/System.Diagnostics.Contracts.dll": {},
- "ref/netcoreapp2.2/System.Diagnostics.Debug.dll": {},
- "ref/netcoreapp2.2/System.Diagnostics.DiagnosticSource.dll": {},
- "ref/netcoreapp2.2/System.Diagnostics.FileVersionInfo.dll": {},
- "ref/netcoreapp2.2/System.Diagnostics.Process.dll": {},
- "ref/netcoreapp2.2/System.Diagnostics.StackTrace.dll": {},
- "ref/netcoreapp2.2/System.Diagnostics.TextWriterTraceListener.dll": {},
- "ref/netcoreapp2.2/System.Diagnostics.Tools.dll": {},
- "ref/netcoreapp2.2/System.Diagnostics.TraceSource.dll": {},
- "ref/netcoreapp2.2/System.Diagnostics.Tracing.dll": {},
- "ref/netcoreapp2.2/System.Drawing.Primitives.dll": {},
- "ref/netcoreapp2.2/System.Drawing.dll": {},
- "ref/netcoreapp2.2/System.Dynamic.Runtime.dll": {},
- "ref/netcoreapp2.2/System.Globalization.Calendars.dll": {},
- "ref/netcoreapp2.2/System.Globalization.Extensions.dll": {},
- "ref/netcoreapp2.2/System.Globalization.dll": {},
- "ref/netcoreapp2.2/System.IO.Compression.Brotli.dll": {},
- "ref/netcoreapp2.2/System.IO.Compression.FileSystem.dll": {},
- "ref/netcoreapp2.2/System.IO.Compression.ZipFile.dll": {},
- "ref/netcoreapp2.2/System.IO.Compression.dll": {},
- "ref/netcoreapp2.2/System.IO.FileSystem.DriveInfo.dll": {},
- "ref/netcoreapp2.2/System.IO.FileSystem.Primitives.dll": {},
- "ref/netcoreapp2.2/System.IO.FileSystem.Watcher.dll": {},
- "ref/netcoreapp2.2/System.IO.FileSystem.dll": {},
- "ref/netcoreapp2.2/System.IO.IsolatedStorage.dll": {},
- "ref/netcoreapp2.2/System.IO.MemoryMappedFiles.dll": {},
- "ref/netcoreapp2.2/System.IO.Pipes.dll": {},
- "ref/netcoreapp2.2/System.IO.UnmanagedMemoryStream.dll": {},
- "ref/netcoreapp2.2/System.IO.dll": {},
- "ref/netcoreapp2.2/System.Linq.Expressions.dll": {},
- "ref/netcoreapp2.2/System.Linq.Parallel.dll": {},
- "ref/netcoreapp2.2/System.Linq.Queryable.dll": {},
- "ref/netcoreapp2.2/System.Linq.dll": {},
- "ref/netcoreapp2.2/System.Memory.dll": {},
- "ref/netcoreapp2.2/System.Net.Http.dll": {},
- "ref/netcoreapp2.2/System.Net.HttpListener.dll": {},
- "ref/netcoreapp2.2/System.Net.Mail.dll": {},
- "ref/netcoreapp2.2/System.Net.NameResolution.dll": {},
- "ref/netcoreapp2.2/System.Net.NetworkInformation.dll": {},
- "ref/netcoreapp2.2/System.Net.Ping.dll": {},
- "ref/netcoreapp2.2/System.Net.Primitives.dll": {},
- "ref/netcoreapp2.2/System.Net.Requests.dll": {},
- "ref/netcoreapp2.2/System.Net.Security.dll": {},
- "ref/netcoreapp2.2/System.Net.ServicePoint.dll": {},
- "ref/netcoreapp2.2/System.Net.Sockets.dll": {},
- "ref/netcoreapp2.2/System.Net.WebClient.dll": {},
- "ref/netcoreapp2.2/System.Net.WebHeaderCollection.dll": {},
- "ref/netcoreapp2.2/System.Net.WebProxy.dll": {},
- "ref/netcoreapp2.2/System.Net.WebSockets.Client.dll": {},
- "ref/netcoreapp2.2/System.Net.WebSockets.dll": {},
- "ref/netcoreapp2.2/System.Net.dll": {},
- "ref/netcoreapp2.2/System.Numerics.Vectors.dll": {},
- "ref/netcoreapp2.2/System.Numerics.dll": {},
- "ref/netcoreapp2.2/System.ObjectModel.dll": {},
- "ref/netcoreapp2.2/System.Reflection.DispatchProxy.dll": {},
- "ref/netcoreapp2.2/System.Reflection.Emit.ILGeneration.dll": {},
- "ref/netcoreapp2.2/System.Reflection.Emit.Lightweight.dll": {},
- "ref/netcoreapp2.2/System.Reflection.Emit.dll": {},
- "ref/netcoreapp2.2/System.Reflection.Extensions.dll": {},
- "ref/netcoreapp2.2/System.Reflection.Metadata.dll": {},
- "ref/netcoreapp2.2/System.Reflection.Primitives.dll": {},
- "ref/netcoreapp2.2/System.Reflection.TypeExtensions.dll": {},
- "ref/netcoreapp2.2/System.Reflection.dll": {},
- "ref/netcoreapp2.2/System.Resources.Reader.dll": {},
- "ref/netcoreapp2.2/System.Resources.ResourceManager.dll": {},
- "ref/netcoreapp2.2/System.Resources.Writer.dll": {},
- "ref/netcoreapp2.2/System.Runtime.CompilerServices.VisualC.dll": {},
- "ref/netcoreapp2.2/System.Runtime.Extensions.dll": {},
- "ref/netcoreapp2.2/System.Runtime.Handles.dll": {},
- "ref/netcoreapp2.2/System.Runtime.InteropServices.RuntimeInformation.dll": {},
- "ref/netcoreapp2.2/System.Runtime.InteropServices.WindowsRuntime.dll": {},
- "ref/netcoreapp2.2/System.Runtime.InteropServices.dll": {},
- "ref/netcoreapp2.2/System.Runtime.Loader.dll": {},
- "ref/netcoreapp2.2/System.Runtime.Numerics.dll": {},
- "ref/netcoreapp2.2/System.Runtime.Serialization.Formatters.dll": {},
- "ref/netcoreapp2.2/System.Runtime.Serialization.Json.dll": {},
- "ref/netcoreapp2.2/System.Runtime.Serialization.Primitives.dll": {},
- "ref/netcoreapp2.2/System.Runtime.Serialization.Xml.dll": {},
- "ref/netcoreapp2.2/System.Runtime.Serialization.dll": {},
- "ref/netcoreapp2.2/System.Runtime.dll": {},
- "ref/netcoreapp2.2/System.Security.Claims.dll": {},
- "ref/netcoreapp2.2/System.Security.Cryptography.Algorithms.dll": {},
- "ref/netcoreapp2.2/System.Security.Cryptography.Csp.dll": {},
- "ref/netcoreapp2.2/System.Security.Cryptography.Encoding.dll": {},
- "ref/netcoreapp2.2/System.Security.Cryptography.Primitives.dll": {},
- "ref/netcoreapp2.2/System.Security.Cryptography.X509Certificates.dll": {},
- "ref/netcoreapp2.2/System.Security.Principal.dll": {},
- "ref/netcoreapp2.2/System.Security.SecureString.dll": {},
- "ref/netcoreapp2.2/System.Security.dll": {},
- "ref/netcoreapp2.2/System.ServiceModel.Web.dll": {},
- "ref/netcoreapp2.2/System.ServiceProcess.dll": {},
- "ref/netcoreapp2.2/System.Text.Encoding.Extensions.dll": {},
- "ref/netcoreapp2.2/System.Text.Encoding.dll": {},
- "ref/netcoreapp2.2/System.Text.RegularExpressions.dll": {},
- "ref/netcoreapp2.2/System.Threading.Overlapped.dll": {},
- "ref/netcoreapp2.2/System.Threading.Tasks.Dataflow.dll": {},
- "ref/netcoreapp2.2/System.Threading.Tasks.Extensions.dll": {},
- "ref/netcoreapp2.2/System.Threading.Tasks.Parallel.dll": {},
- "ref/netcoreapp2.2/System.Threading.Tasks.dll": {},
- "ref/netcoreapp2.2/System.Threading.Thread.dll": {},
- "ref/netcoreapp2.2/System.Threading.ThreadPool.dll": {},
- "ref/netcoreapp2.2/System.Threading.Timer.dll": {},
- "ref/netcoreapp2.2/System.Threading.dll": {},
- "ref/netcoreapp2.2/System.Transactions.Local.dll": {},
- "ref/netcoreapp2.2/System.Transactions.dll": {},
- "ref/netcoreapp2.2/System.ValueTuple.dll": {},
- "ref/netcoreapp2.2/System.Web.HttpUtility.dll": {},
- "ref/netcoreapp2.2/System.Web.dll": {},
- "ref/netcoreapp2.2/System.Windows.dll": {},
- "ref/netcoreapp2.2/System.Xml.Linq.dll": {},
- "ref/netcoreapp2.2/System.Xml.ReaderWriter.dll": {},
- "ref/netcoreapp2.2/System.Xml.Serialization.dll": {},
- "ref/netcoreapp2.2/System.Xml.XDocument.dll": {},
- "ref/netcoreapp2.2/System.Xml.XPath.XDocument.dll": {},
- "ref/netcoreapp2.2/System.Xml.XPath.dll": {},
- "ref/netcoreapp2.2/System.Xml.XmlDocument.dll": {},
- "ref/netcoreapp2.2/System.Xml.XmlSerializer.dll": {},
- "ref/netcoreapp2.2/System.Xml.dll": {},
- "ref/netcoreapp2.2/System.dll": {},
- "ref/netcoreapp2.2/WindowsBase.dll": {},
- "ref/netcoreapp2.2/mscorlib.dll": {},
- "ref/netcoreapp2.2/netstandard.dll": {}
- },
- "build": {
- "build/netcoreapp2.2/Microsoft.NETCore.App.props": {},
- "build/netcoreapp2.2/Microsoft.NETCore.App.targets": {}
- }
- },
- "Microsoft.NETCore.DotNetAppHost/2.2.0": {
- "type": "package"
- },
- "Microsoft.NETCore.DotNetHostPolicy/2.2.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.DotNetHostResolver": "2.2.0"
- }
- },
- "Microsoft.NETCore.DotNetHostResolver/2.2.0": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.DotNetAppHost": "2.2.0"
- }
- },
- "Microsoft.NETCore.Platforms/2.2.0": {
- "type": "package",
- "compile": {
- "lib/netstandard1.0/_._": {}
- },
- "runtime": {
- "lib/netstandard1.0/_._": {}
- }
- },
- "Microsoft.NETCore.Targets/2.0.0": {
- "type": "package",
- "compile": {
- "lib/netstandard1.0/_._": {}
- },
- "runtime": {
- "lib/netstandard1.0/_._": {}
- }
- },
- "NETStandard.Library/2.0.3": {
- "type": "package",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0"
- },
- "compile": {
- "lib/netstandard1.0/_._": {}
- },
- "runtime": {
- "lib/netstandard1.0/_._": {}
- },
- "build": {
- "build/netstandard2.0/NETStandard.Library.targets": {}
- }
- },
- "Caching.dll/1.3.2": {
- "type": "project",
- "framework": ".NETStandard,Version=v2.0",
- "dependencies": {
- "Microsoft.CSharp": "4.5.0"
- },
- "compile": {
- "bin/placeholder/Caching.dll.dll": {}
- },
- "runtime": {
- "bin/placeholder/Caching.dll.dll": {}
- }
- }
- }
- },
- "libraries": {
- "Microsoft.CSharp/4.5.0": {
- "sha512": "kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==",
- "type": "package",
- "path": "microsoft.csharp/4.5.0",
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "LICENSE.TXT",
- "THIRD-PARTY-NOTICES.TXT",
- "lib/MonoAndroid10/_._",
- "lib/MonoTouch10/_._",
- "lib/net45/_._",
- "lib/netcore50/Microsoft.CSharp.dll",
- "lib/netcoreapp2.0/_._",
- "lib/netstandard1.3/Microsoft.CSharp.dll",
- "lib/netstandard2.0/Microsoft.CSharp.dll",
- "lib/portable-net45+win8+wp8+wpa81/_._",
- "lib/uap10.0.16299/_._",
- "lib/win8/_._",
- "lib/wp80/_._",
- "lib/wpa81/_._",
- "lib/xamarinios10/_._",
- "lib/xamarinmac20/_._",
- "lib/xamarintvos10/_._",
- "lib/xamarinwatchos10/_._",
- "microsoft.csharp.4.5.0.nupkg.sha512",
- "microsoft.csharp.nuspec",
- "ref/MonoAndroid10/_._",
- "ref/MonoTouch10/_._",
- "ref/net45/_._",
- "ref/netcore50/Microsoft.CSharp.dll",
- "ref/netcore50/Microsoft.CSharp.xml",
- "ref/netcore50/de/Microsoft.CSharp.xml",
- "ref/netcore50/es/Microsoft.CSharp.xml",
- "ref/netcore50/fr/Microsoft.CSharp.xml",
- "ref/netcore50/it/Microsoft.CSharp.xml",
- "ref/netcore50/ja/Microsoft.CSharp.xml",
- "ref/netcore50/ko/Microsoft.CSharp.xml",
- "ref/netcore50/ru/Microsoft.CSharp.xml",
- "ref/netcore50/zh-hans/Microsoft.CSharp.xml",
- "ref/netcore50/zh-hant/Microsoft.CSharp.xml",
- "ref/netcoreapp2.0/_._",
- "ref/netstandard1.0/Microsoft.CSharp.dll",
- "ref/netstandard1.0/Microsoft.CSharp.xml",
- "ref/netstandard1.0/de/Microsoft.CSharp.xml",
- "ref/netstandard1.0/es/Microsoft.CSharp.xml",
- "ref/netstandard1.0/fr/Microsoft.CSharp.xml",
- "ref/netstandard1.0/it/Microsoft.CSharp.xml",
- "ref/netstandard1.0/ja/Microsoft.CSharp.xml",
- "ref/netstandard1.0/ko/Microsoft.CSharp.xml",
- "ref/netstandard1.0/ru/Microsoft.CSharp.xml",
- "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml",
- "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml",
- "ref/netstandard2.0/Microsoft.CSharp.dll",
- "ref/netstandard2.0/Microsoft.CSharp.xml",
- "ref/portable-net45+win8+wp8+wpa81/_._",
- "ref/uap10.0.16299/_._",
- "ref/win8/_._",
- "ref/wp80/_._",
- "ref/wpa81/_._",
- "ref/xamarinios10/_._",
- "ref/xamarinmac20/_._",
- "ref/xamarintvos10/_._",
- "ref/xamarinwatchos10/_._",
- "useSharedDesignerContext.txt",
- "version.txt"
- ]
- },
- "Microsoft.NETCore.App/2.2.0": {
- "sha512": "QU8taCyeyePwatrj+h+750lMnsPCq3YPaGmsdtSHXPCjDyjto2KT7QDNVet0oRliX4PjaINpyg0Yzd9DnQ/Wkw==",
- "type": "package",
- "path": "microsoft.netcore.app/2.2.0",
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "LICENSE.TXT",
- "Microsoft.NETCore.App.versions.txt",
- "THIRD-PARTY-NOTICES.TXT",
- "build/netcoreapp2.2/Microsoft.NETCore.App.PlatformManifest.txt",
- "build/netcoreapp2.2/Microsoft.NETCore.App.props",
- "build/netcoreapp2.2/Microsoft.NETCore.App.targets",
- "microsoft.netcore.app.2.2.0.nupkg.sha512",
- "microsoft.netcore.app.nuspec",
- "ref/netcoreapp2.2/Microsoft.CSharp.dll",
- "ref/netcoreapp2.2/Microsoft.CSharp.xml",
- "ref/netcoreapp2.2/Microsoft.VisualBasic.dll",
- "ref/netcoreapp2.2/Microsoft.VisualBasic.xml",
- "ref/netcoreapp2.2/Microsoft.Win32.Primitives.dll",
- "ref/netcoreapp2.2/Microsoft.Win32.Primitives.xml",
- "ref/netcoreapp2.2/System.AppContext.dll",
- "ref/netcoreapp2.2/System.Buffers.dll",
- "ref/netcoreapp2.2/System.Buffers.xml",
- "ref/netcoreapp2.2/System.Collections.Concurrent.dll",
- "ref/netcoreapp2.2/System.Collections.Concurrent.xml",
- "ref/netcoreapp2.2/System.Collections.Immutable.dll",
- "ref/netcoreapp2.2/System.Collections.Immutable.xml",
- "ref/netcoreapp2.2/System.Collections.NonGeneric.dll",
- "ref/netcoreapp2.2/System.Collections.NonGeneric.xml",
- "ref/netcoreapp2.2/System.Collections.Specialized.dll",
- "ref/netcoreapp2.2/System.Collections.Specialized.xml",
- "ref/netcoreapp2.2/System.Collections.dll",
- "ref/netcoreapp2.2/System.Collections.xml",
- "ref/netcoreapp2.2/System.ComponentModel.Annotations.dll",
- "ref/netcoreapp2.2/System.ComponentModel.Annotations.xml",
- "ref/netcoreapp2.2/System.ComponentModel.DataAnnotations.dll",
- "ref/netcoreapp2.2/System.ComponentModel.EventBasedAsync.dll",
- "ref/netcoreapp2.2/System.ComponentModel.EventBasedAsync.xml",
- "ref/netcoreapp2.2/System.ComponentModel.Primitives.dll",
- "ref/netcoreapp2.2/System.ComponentModel.Primitives.xml",
- "ref/netcoreapp2.2/System.ComponentModel.TypeConverter.dll",
- "ref/netcoreapp2.2/System.ComponentModel.TypeConverter.xml",
- "ref/netcoreapp2.2/System.ComponentModel.dll",
- "ref/netcoreapp2.2/System.ComponentModel.xml",
- "ref/netcoreapp2.2/System.Configuration.dll",
- "ref/netcoreapp2.2/System.Console.dll",
- "ref/netcoreapp2.2/System.Console.xml",
- "ref/netcoreapp2.2/System.Core.dll",
- "ref/netcoreapp2.2/System.Data.Common.dll",
- "ref/netcoreapp2.2/System.Data.Common.xml",
- "ref/netcoreapp2.2/System.Data.dll",
- "ref/netcoreapp2.2/System.Diagnostics.Contracts.dll",
- "ref/netcoreapp2.2/System.Diagnostics.Contracts.xml",
- "ref/netcoreapp2.2/System.Diagnostics.Debug.dll",
- "ref/netcoreapp2.2/System.Diagnostics.Debug.xml",
- "ref/netcoreapp2.2/System.Diagnostics.DiagnosticSource.dll",
- "ref/netcoreapp2.2/System.Diagnostics.DiagnosticSource.xml",
- "ref/netcoreapp2.2/System.Diagnostics.FileVersionInfo.dll",
- "ref/netcoreapp2.2/System.Diagnostics.FileVersionInfo.xml",
- "ref/netcoreapp2.2/System.Diagnostics.Process.dll",
- "ref/netcoreapp2.2/System.Diagnostics.Process.xml",
- "ref/netcoreapp2.2/System.Diagnostics.StackTrace.dll",
- "ref/netcoreapp2.2/System.Diagnostics.StackTrace.xml",
- "ref/netcoreapp2.2/System.Diagnostics.TextWriterTraceListener.dll",
- "ref/netcoreapp2.2/System.Diagnostics.TextWriterTraceListener.xml",
- "ref/netcoreapp2.2/System.Diagnostics.Tools.dll",
- "ref/netcoreapp2.2/System.Diagnostics.Tools.xml",
- "ref/netcoreapp2.2/System.Diagnostics.TraceSource.dll",
- "ref/netcoreapp2.2/System.Diagnostics.TraceSource.xml",
- "ref/netcoreapp2.2/System.Diagnostics.Tracing.dll",
- "ref/netcoreapp2.2/System.Diagnostics.Tracing.xml",
- "ref/netcoreapp2.2/System.Drawing.Primitives.dll",
- "ref/netcoreapp2.2/System.Drawing.Primitives.xml",
- "ref/netcoreapp2.2/System.Drawing.dll",
- "ref/netcoreapp2.2/System.Dynamic.Runtime.dll",
- "ref/netcoreapp2.2/System.Globalization.Calendars.dll",
- "ref/netcoreapp2.2/System.Globalization.Extensions.dll",
- "ref/netcoreapp2.2/System.Globalization.dll",
- "ref/netcoreapp2.2/System.IO.Compression.Brotli.dll",
- "ref/netcoreapp2.2/System.IO.Compression.FileSystem.dll",
- "ref/netcoreapp2.2/System.IO.Compression.ZipFile.dll",
- "ref/netcoreapp2.2/System.IO.Compression.ZipFile.xml",
- "ref/netcoreapp2.2/System.IO.Compression.dll",
- "ref/netcoreapp2.2/System.IO.Compression.xml",
- "ref/netcoreapp2.2/System.IO.FileSystem.DriveInfo.dll",
- "ref/netcoreapp2.2/System.IO.FileSystem.DriveInfo.xml",
- "ref/netcoreapp2.2/System.IO.FileSystem.Primitives.dll",
- "ref/netcoreapp2.2/System.IO.FileSystem.Watcher.dll",
- "ref/netcoreapp2.2/System.IO.FileSystem.Watcher.xml",
- "ref/netcoreapp2.2/System.IO.FileSystem.dll",
- "ref/netcoreapp2.2/System.IO.FileSystem.xml",
- "ref/netcoreapp2.2/System.IO.IsolatedStorage.dll",
- "ref/netcoreapp2.2/System.IO.IsolatedStorage.xml",
- "ref/netcoreapp2.2/System.IO.MemoryMappedFiles.dll",
- "ref/netcoreapp2.2/System.IO.MemoryMappedFiles.xml",
- "ref/netcoreapp2.2/System.IO.Pipes.dll",
- "ref/netcoreapp2.2/System.IO.Pipes.xml",
- "ref/netcoreapp2.2/System.IO.UnmanagedMemoryStream.dll",
- "ref/netcoreapp2.2/System.IO.dll",
- "ref/netcoreapp2.2/System.Linq.Expressions.dll",
- "ref/netcoreapp2.2/System.Linq.Expressions.xml",
- "ref/netcoreapp2.2/System.Linq.Parallel.dll",
- "ref/netcoreapp2.2/System.Linq.Parallel.xml",
- "ref/netcoreapp2.2/System.Linq.Queryable.dll",
- "ref/netcoreapp2.2/System.Linq.Queryable.xml",
- "ref/netcoreapp2.2/System.Linq.dll",
- "ref/netcoreapp2.2/System.Linq.xml",
- "ref/netcoreapp2.2/System.Memory.dll",
- "ref/netcoreapp2.2/System.Memory.xml",
- "ref/netcoreapp2.2/System.Net.Http.dll",
- "ref/netcoreapp2.2/System.Net.Http.xml",
- "ref/netcoreapp2.2/System.Net.HttpListener.dll",
- "ref/netcoreapp2.2/System.Net.HttpListener.xml",
- "ref/netcoreapp2.2/System.Net.Mail.dll",
- "ref/netcoreapp2.2/System.Net.Mail.xml",
- "ref/netcoreapp2.2/System.Net.NameResolution.dll",
- "ref/netcoreapp2.2/System.Net.NameResolution.xml",
- "ref/netcoreapp2.2/System.Net.NetworkInformation.dll",
- "ref/netcoreapp2.2/System.Net.NetworkInformation.xml",
- "ref/netcoreapp2.2/System.Net.Ping.dll",
- "ref/netcoreapp2.2/System.Net.Ping.xml",
- "ref/netcoreapp2.2/System.Net.Primitives.dll",
- "ref/netcoreapp2.2/System.Net.Primitives.xml",
- "ref/netcoreapp2.2/System.Net.Requests.dll",
- "ref/netcoreapp2.2/System.Net.Requests.xml",
- "ref/netcoreapp2.2/System.Net.Security.dll",
- "ref/netcoreapp2.2/System.Net.Security.xml",
- "ref/netcoreapp2.2/System.Net.ServicePoint.dll",
- "ref/netcoreapp2.2/System.Net.ServicePoint.xml",
- "ref/netcoreapp2.2/System.Net.Sockets.dll",
- "ref/netcoreapp2.2/System.Net.Sockets.xml",
- "ref/netcoreapp2.2/System.Net.WebClient.dll",
- "ref/netcoreapp2.2/System.Net.WebClient.xml",
- "ref/netcoreapp2.2/System.Net.WebHeaderCollection.dll",
- "ref/netcoreapp2.2/System.Net.WebHeaderCollection.xml",
- "ref/netcoreapp2.2/System.Net.WebProxy.dll",
- "ref/netcoreapp2.2/System.Net.WebProxy.xml",
- "ref/netcoreapp2.2/System.Net.WebSockets.Client.dll",
- "ref/netcoreapp2.2/System.Net.WebSockets.Client.xml",
- "ref/netcoreapp2.2/System.Net.WebSockets.dll",
- "ref/netcoreapp2.2/System.Net.WebSockets.xml",
- "ref/netcoreapp2.2/System.Net.dll",
- "ref/netcoreapp2.2/System.Numerics.Vectors.dll",
- "ref/netcoreapp2.2/System.Numerics.Vectors.xml",
- "ref/netcoreapp2.2/System.Numerics.dll",
- "ref/netcoreapp2.2/System.ObjectModel.dll",
- "ref/netcoreapp2.2/System.ObjectModel.xml",
- "ref/netcoreapp2.2/System.Reflection.DispatchProxy.dll",
- "ref/netcoreapp2.2/System.Reflection.DispatchProxy.xml",
- "ref/netcoreapp2.2/System.Reflection.Emit.ILGeneration.dll",
- "ref/netcoreapp2.2/System.Reflection.Emit.ILGeneration.xml",
- "ref/netcoreapp2.2/System.Reflection.Emit.Lightweight.dll",
- "ref/netcoreapp2.2/System.Reflection.Emit.Lightweight.xml",
- "ref/netcoreapp2.2/System.Reflection.Emit.dll",
- "ref/netcoreapp2.2/System.Reflection.Emit.xml",
- "ref/netcoreapp2.2/System.Reflection.Extensions.dll",
- "ref/netcoreapp2.2/System.Reflection.Metadata.dll",
- "ref/netcoreapp2.2/System.Reflection.Metadata.xml",
- "ref/netcoreapp2.2/System.Reflection.Primitives.dll",
- "ref/netcoreapp2.2/System.Reflection.Primitives.xml",
- "ref/netcoreapp2.2/System.Reflection.TypeExtensions.dll",
- "ref/netcoreapp2.2/System.Reflection.TypeExtensions.xml",
- "ref/netcoreapp2.2/System.Reflection.dll",
- "ref/netcoreapp2.2/System.Resources.Reader.dll",
- "ref/netcoreapp2.2/System.Resources.ResourceManager.dll",
- "ref/netcoreapp2.2/System.Resources.ResourceManager.xml",
- "ref/netcoreapp2.2/System.Resources.Writer.dll",
- "ref/netcoreapp2.2/System.Resources.Writer.xml",
- "ref/netcoreapp2.2/System.Runtime.CompilerServices.VisualC.dll",
- "ref/netcoreapp2.2/System.Runtime.CompilerServices.VisualC.xml",
- "ref/netcoreapp2.2/System.Runtime.Extensions.dll",
- "ref/netcoreapp2.2/System.Runtime.Extensions.xml",
- "ref/netcoreapp2.2/System.Runtime.Handles.dll",
- "ref/netcoreapp2.2/System.Runtime.InteropServices.RuntimeInformation.dll",
- "ref/netcoreapp2.2/System.Runtime.InteropServices.RuntimeInformation.xml",
- "ref/netcoreapp2.2/System.Runtime.InteropServices.WindowsRuntime.dll",
- "ref/netcoreapp2.2/System.Runtime.InteropServices.WindowsRuntime.xml",
- "ref/netcoreapp2.2/System.Runtime.InteropServices.dll",
- "ref/netcoreapp2.2/System.Runtime.InteropServices.xml",
- "ref/netcoreapp2.2/System.Runtime.Loader.dll",
- "ref/netcoreapp2.2/System.Runtime.Loader.xml",
- "ref/netcoreapp2.2/System.Runtime.Numerics.dll",
- "ref/netcoreapp2.2/System.Runtime.Numerics.xml",
- "ref/netcoreapp2.2/System.Runtime.Serialization.Formatters.dll",
- "ref/netcoreapp2.2/System.Runtime.Serialization.Formatters.xml",
- "ref/netcoreapp2.2/System.Runtime.Serialization.Json.dll",
- "ref/netcoreapp2.2/System.Runtime.Serialization.Json.xml",
- "ref/netcoreapp2.2/System.Runtime.Serialization.Primitives.dll",
- "ref/netcoreapp2.2/System.Runtime.Serialization.Primitives.xml",
- "ref/netcoreapp2.2/System.Runtime.Serialization.Xml.dll",
- "ref/netcoreapp2.2/System.Runtime.Serialization.Xml.xml",
- "ref/netcoreapp2.2/System.Runtime.Serialization.dll",
- "ref/netcoreapp2.2/System.Runtime.dll",
- "ref/netcoreapp2.2/System.Runtime.xml",
- "ref/netcoreapp2.2/System.Security.Claims.dll",
- "ref/netcoreapp2.2/System.Security.Claims.xml",
- "ref/netcoreapp2.2/System.Security.Cryptography.Algorithms.dll",
- "ref/netcoreapp2.2/System.Security.Cryptography.Algorithms.xml",
- "ref/netcoreapp2.2/System.Security.Cryptography.Csp.dll",
- "ref/netcoreapp2.2/System.Security.Cryptography.Csp.xml",
- "ref/netcoreapp2.2/System.Security.Cryptography.Encoding.dll",
- "ref/netcoreapp2.2/System.Security.Cryptography.Encoding.xml",
- "ref/netcoreapp2.2/System.Security.Cryptography.Primitives.dll",
- "ref/netcoreapp2.2/System.Security.Cryptography.Primitives.xml",
- "ref/netcoreapp2.2/System.Security.Cryptography.X509Certificates.dll",
- "ref/netcoreapp2.2/System.Security.Cryptography.X509Certificates.xml",
- "ref/netcoreapp2.2/System.Security.Principal.dll",
- "ref/netcoreapp2.2/System.Security.Principal.xml",
- "ref/netcoreapp2.2/System.Security.SecureString.dll",
- "ref/netcoreapp2.2/System.Security.dll",
- "ref/netcoreapp2.2/System.ServiceModel.Web.dll",
- "ref/netcoreapp2.2/System.ServiceProcess.dll",
- "ref/netcoreapp2.2/System.Text.Encoding.Extensions.dll",
- "ref/netcoreapp2.2/System.Text.Encoding.Extensions.xml",
- "ref/netcoreapp2.2/System.Text.Encoding.dll",
- "ref/netcoreapp2.2/System.Text.RegularExpressions.dll",
- "ref/netcoreapp2.2/System.Text.RegularExpressions.xml",
- "ref/netcoreapp2.2/System.Threading.Overlapped.dll",
- "ref/netcoreapp2.2/System.Threading.Overlapped.xml",
- "ref/netcoreapp2.2/System.Threading.Tasks.Dataflow.dll",
- "ref/netcoreapp2.2/System.Threading.Tasks.Dataflow.xml",
- "ref/netcoreapp2.2/System.Threading.Tasks.Extensions.dll",
- "ref/netcoreapp2.2/System.Threading.Tasks.Extensions.xml",
- "ref/netcoreapp2.2/System.Threading.Tasks.Parallel.dll",
- "ref/netcoreapp2.2/System.Threading.Tasks.Parallel.xml",
- "ref/netcoreapp2.2/System.Threading.Tasks.dll",
- "ref/netcoreapp2.2/System.Threading.Tasks.xml",
- "ref/netcoreapp2.2/System.Threading.Thread.dll",
- "ref/netcoreapp2.2/System.Threading.Thread.xml",
- "ref/netcoreapp2.2/System.Threading.ThreadPool.dll",
- "ref/netcoreapp2.2/System.Threading.ThreadPool.xml",
- "ref/netcoreapp2.2/System.Threading.Timer.dll",
- "ref/netcoreapp2.2/System.Threading.Timer.xml",
- "ref/netcoreapp2.2/System.Threading.dll",
- "ref/netcoreapp2.2/System.Threading.xml",
- "ref/netcoreapp2.2/System.Transactions.Local.dll",
- "ref/netcoreapp2.2/System.Transactions.Local.xml",
- "ref/netcoreapp2.2/System.Transactions.dll",
- "ref/netcoreapp2.2/System.ValueTuple.dll",
- "ref/netcoreapp2.2/System.Web.HttpUtility.dll",
- "ref/netcoreapp2.2/System.Web.HttpUtility.xml",
- "ref/netcoreapp2.2/System.Web.dll",
- "ref/netcoreapp2.2/System.Windows.dll",
- "ref/netcoreapp2.2/System.Xml.Linq.dll",
- "ref/netcoreapp2.2/System.Xml.ReaderWriter.dll",
- "ref/netcoreapp2.2/System.Xml.ReaderWriter.xml",
- "ref/netcoreapp2.2/System.Xml.Serialization.dll",
- "ref/netcoreapp2.2/System.Xml.XDocument.dll",
- "ref/netcoreapp2.2/System.Xml.XDocument.xml",
- "ref/netcoreapp2.2/System.Xml.XPath.XDocument.dll",
- "ref/netcoreapp2.2/System.Xml.XPath.XDocument.xml",
- "ref/netcoreapp2.2/System.Xml.XPath.dll",
- "ref/netcoreapp2.2/System.Xml.XPath.xml",
- "ref/netcoreapp2.2/System.Xml.XmlDocument.dll",
- "ref/netcoreapp2.2/System.Xml.XmlSerializer.dll",
- "ref/netcoreapp2.2/System.Xml.XmlSerializer.xml",
- "ref/netcoreapp2.2/System.Xml.dll",
- "ref/netcoreapp2.2/System.dll",
- "ref/netcoreapp2.2/WindowsBase.dll",
- "ref/netcoreapp2.2/mscorlib.dll",
- "ref/netcoreapp2.2/netstandard.dll",
- "runtime.json"
- ]
- },
- "Microsoft.NETCore.DotNetAppHost/2.2.0": {
- "sha512": "qIrVLupwT2NYTrf7KM7Nh+mJr36V5MITVRjyGOByVVCwGmQgQmI/6bjZYQv+QdExi4Cm87eCKJX9FdT6nc00Xg==",
- "type": "package",
- "path": "microsoft.netcore.dotnetapphost/2.2.0",
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "LICENSE.TXT",
- "THIRD-PARTY-NOTICES.TXT",
- "microsoft.netcore.dotnetapphost.2.2.0.nupkg.sha512",
- "microsoft.netcore.dotnetapphost.nuspec",
- "runtime.json"
- ]
- },
- "Microsoft.NETCore.DotNetHostPolicy/2.2.0": {
- "sha512": "5Xvh/3bDr6YAl6TKfeONvRDZ9QOmvVmzFzA0M6g8uubWdf5/o6qdVOqByFBT/fhjVb6okP0E5+v1oxh1Pk+c+w==",
- "type": "package",
- "path": "microsoft.netcore.dotnethostpolicy/2.2.0",
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "LICENSE.TXT",
- "THIRD-PARTY-NOTICES.TXT",
- "microsoft.netcore.dotnethostpolicy.2.2.0.nupkg.sha512",
- "microsoft.netcore.dotnethostpolicy.nuspec",
- "runtime.json"
- ]
- },
- "Microsoft.NETCore.DotNetHostResolver/2.2.0": {
- "sha512": "Q3j3KC2ugqIVasf7pO4NRDEn7GysZX3ZH6fAHfbjrP8cYXY9cmHeFcbaniw36q8kFhsPt2EnRHzSsLBpbG6l2Q==",
- "type": "package",
- "path": "microsoft.netcore.dotnethostresolver/2.2.0",
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "LICENSE.TXT",
- "THIRD-PARTY-NOTICES.TXT",
- "microsoft.netcore.dotnethostresolver.2.2.0.nupkg.sha512",
- "microsoft.netcore.dotnethostresolver.nuspec",
- "runtime.json"
- ]
- },
- "Microsoft.NETCore.Platforms/2.2.0": {
- "sha512": "39+GVHdbm+cmoOjdvm+fhiMbddnuVyUlBdYS8Yhn5xsNaBoTXpgBsxQQlI2Sv9EjIP0F+itG6yrDaOM2OEGupQ==",
- "type": "package",
- "path": "microsoft.netcore.platforms/2.2.0",
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "LICENSE.TXT",
- "THIRD-PARTY-NOTICES.TXT",
- "lib/netstandard1.0/_._",
- "microsoft.netcore.platforms.2.2.0.nupkg.sha512",
- "microsoft.netcore.platforms.nuspec",
- "runtime.json",
- "useSharedDesignerContext.txt",
- "version.txt"
- ]
- },
- "Microsoft.NETCore.Targets/2.0.0": {
- "sha512": "odP/tJj1z6GylFpNo7pMtbd/xQgTC3Ex2If63dRTL38bBNMwsBnJ+RceUIyHdRBC0oik/3NehYT+oECwBhIM3Q==",
- "type": "package",
- "path": "microsoft.netcore.targets/2.0.0",
- "files": [
- ".nupkg.metadata",
- "LICENSE.TXT",
- "THIRD-PARTY-NOTICES.TXT",
- "lib/netstandard1.0/_._",
- "microsoft.netcore.targets.2.0.0.nupkg.sha512",
- "microsoft.netcore.targets.nuspec",
- "runtime.json",
- "useSharedDesignerContext.txt",
- "version.txt"
- ]
- },
- "NETStandard.Library/2.0.3": {
- "sha512": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
- "type": "package",
- "path": "netstandard.library/2.0.3",
- "files": [
- ".nupkg.metadata",
- "LICENSE.TXT",
- "THIRD-PARTY-NOTICES.TXT",
- "build/netstandard2.0/NETStandard.Library.targets",
- "build/netstandard2.0/ref/Microsoft.Win32.Primitives.dll",
- "build/netstandard2.0/ref/System.AppContext.dll",
- "build/netstandard2.0/ref/System.Collections.Concurrent.dll",
- "build/netstandard2.0/ref/System.Collections.NonGeneric.dll",
- "build/netstandard2.0/ref/System.Collections.Specialized.dll",
- "build/netstandard2.0/ref/System.Collections.dll",
- "build/netstandard2.0/ref/System.ComponentModel.Composition.dll",
- "build/netstandard2.0/ref/System.ComponentModel.EventBasedAsync.dll",
- "build/netstandard2.0/ref/System.ComponentModel.Primitives.dll",
- "build/netstandard2.0/ref/System.ComponentModel.TypeConverter.dll",
- "build/netstandard2.0/ref/System.ComponentModel.dll",
- "build/netstandard2.0/ref/System.Console.dll",
- "build/netstandard2.0/ref/System.Core.dll",
- "build/netstandard2.0/ref/System.Data.Common.dll",
- "build/netstandard2.0/ref/System.Data.dll",
- "build/netstandard2.0/ref/System.Diagnostics.Contracts.dll",
- "build/netstandard2.0/ref/System.Diagnostics.Debug.dll",
- "build/netstandard2.0/ref/System.Diagnostics.FileVersionInfo.dll",
- "build/netstandard2.0/ref/System.Diagnostics.Process.dll",
- "build/netstandard2.0/ref/System.Diagnostics.StackTrace.dll",
- "build/netstandard2.0/ref/System.Diagnostics.TextWriterTraceListener.dll",
- "build/netstandard2.0/ref/System.Diagnostics.Tools.dll",
- "build/netstandard2.0/ref/System.Diagnostics.TraceSource.dll",
- "build/netstandard2.0/ref/System.Diagnostics.Tracing.dll",
- "build/netstandard2.0/ref/System.Drawing.Primitives.dll",
- "build/netstandard2.0/ref/System.Drawing.dll",
- "build/netstandard2.0/ref/System.Dynamic.Runtime.dll",
- "build/netstandard2.0/ref/System.Globalization.Calendars.dll",
- "build/netstandard2.0/ref/System.Globalization.Extensions.dll",
- "build/netstandard2.0/ref/System.Globalization.dll",
- "build/netstandard2.0/ref/System.IO.Compression.FileSystem.dll",
- "build/netstandard2.0/ref/System.IO.Compression.ZipFile.dll",
- "build/netstandard2.0/ref/System.IO.Compression.dll",
- "build/netstandard2.0/ref/System.IO.FileSystem.DriveInfo.dll",
- "build/netstandard2.0/ref/System.IO.FileSystem.Primitives.dll",
- "build/netstandard2.0/ref/System.IO.FileSystem.Watcher.dll",
- "build/netstandard2.0/ref/System.IO.FileSystem.dll",
- "build/netstandard2.0/ref/System.IO.IsolatedStorage.dll",
- "build/netstandard2.0/ref/System.IO.MemoryMappedFiles.dll",
- "build/netstandard2.0/ref/System.IO.Pipes.dll",
- "build/netstandard2.0/ref/System.IO.UnmanagedMemoryStream.dll",
- "build/netstandard2.0/ref/System.IO.dll",
- "build/netstandard2.0/ref/System.Linq.Expressions.dll",
- "build/netstandard2.0/ref/System.Linq.Parallel.dll",
- "build/netstandard2.0/ref/System.Linq.Queryable.dll",
- "build/netstandard2.0/ref/System.Linq.dll",
- "build/netstandard2.0/ref/System.Net.Http.dll",
- "build/netstandard2.0/ref/System.Net.NameResolution.dll",
- "build/netstandard2.0/ref/System.Net.NetworkInformation.dll",
- "build/netstandard2.0/ref/System.Net.Ping.dll",
- "build/netstandard2.0/ref/System.Net.Primitives.dll",
- "build/netstandard2.0/ref/System.Net.Requests.dll",
- "build/netstandard2.0/ref/System.Net.Security.dll",
- "build/netstandard2.0/ref/System.Net.Sockets.dll",
- "build/netstandard2.0/ref/System.Net.WebHeaderCollection.dll",
- "build/netstandard2.0/ref/System.Net.WebSockets.Client.dll",
- "build/netstandard2.0/ref/System.Net.WebSockets.dll",
- "build/netstandard2.0/ref/System.Net.dll",
- "build/netstandard2.0/ref/System.Numerics.dll",
- "build/netstandard2.0/ref/System.ObjectModel.dll",
- "build/netstandard2.0/ref/System.Reflection.Extensions.dll",
- "build/netstandard2.0/ref/System.Reflection.Primitives.dll",
- "build/netstandard2.0/ref/System.Reflection.dll",
- "build/netstandard2.0/ref/System.Resources.Reader.dll",
- "build/netstandard2.0/ref/System.Resources.ResourceManager.dll",
- "build/netstandard2.0/ref/System.Resources.Writer.dll",
- "build/netstandard2.0/ref/System.Runtime.CompilerServices.VisualC.dll",
- "build/netstandard2.0/ref/System.Runtime.Extensions.dll",
- "build/netstandard2.0/ref/System.Runtime.Handles.dll",
- "build/netstandard2.0/ref/System.Runtime.InteropServices.RuntimeInformation.dll",
- "build/netstandard2.0/ref/System.Runtime.InteropServices.dll",
- "build/netstandard2.0/ref/System.Runtime.Numerics.dll",
- "build/netstandard2.0/ref/System.Runtime.Serialization.Formatters.dll",
- "build/netstandard2.0/ref/System.Runtime.Serialization.Json.dll",
- "build/netstandard2.0/ref/System.Runtime.Serialization.Primitives.dll",
- "build/netstandard2.0/ref/System.Runtime.Serialization.Xml.dll",
- "build/netstandard2.0/ref/System.Runtime.Serialization.dll",
- "build/netstandard2.0/ref/System.Runtime.dll",
- "build/netstandard2.0/ref/System.Security.Claims.dll",
- "build/netstandard2.0/ref/System.Security.Cryptography.Algorithms.dll",
- "build/netstandard2.0/ref/System.Security.Cryptography.Csp.dll",
- "build/netstandard2.0/ref/System.Security.Cryptography.Encoding.dll",
- "build/netstandard2.0/ref/System.Security.Cryptography.Primitives.dll",
- "build/netstandard2.0/ref/System.Security.Cryptography.X509Certificates.dll",
- "build/netstandard2.0/ref/System.Security.Principal.dll",
- "build/netstandard2.0/ref/System.Security.SecureString.dll",
- "build/netstandard2.0/ref/System.ServiceModel.Web.dll",
- "build/netstandard2.0/ref/System.Text.Encoding.Extensions.dll",
- "build/netstandard2.0/ref/System.Text.Encoding.dll",
- "build/netstandard2.0/ref/System.Text.RegularExpressions.dll",
- "build/netstandard2.0/ref/System.Threading.Overlapped.dll",
- "build/netstandard2.0/ref/System.Threading.Tasks.Parallel.dll",
- "build/netstandard2.0/ref/System.Threading.Tasks.dll",
- "build/netstandard2.0/ref/System.Threading.Thread.dll",
- "build/netstandard2.0/ref/System.Threading.ThreadPool.dll",
- "build/netstandard2.0/ref/System.Threading.Timer.dll",
- "build/netstandard2.0/ref/System.Threading.dll",
- "build/netstandard2.0/ref/System.Transactions.dll",
- "build/netstandard2.0/ref/System.ValueTuple.dll",
- "build/netstandard2.0/ref/System.Web.dll",
- "build/netstandard2.0/ref/System.Windows.dll",
- "build/netstandard2.0/ref/System.Xml.Linq.dll",
- "build/netstandard2.0/ref/System.Xml.ReaderWriter.dll",
- "build/netstandard2.0/ref/System.Xml.Serialization.dll",
- "build/netstandard2.0/ref/System.Xml.XDocument.dll",
- "build/netstandard2.0/ref/System.Xml.XPath.XDocument.dll",
- "build/netstandard2.0/ref/System.Xml.XPath.dll",
- "build/netstandard2.0/ref/System.Xml.XmlDocument.dll",
- "build/netstandard2.0/ref/System.Xml.XmlSerializer.dll",
- "build/netstandard2.0/ref/System.Xml.dll",
- "build/netstandard2.0/ref/System.dll",
- "build/netstandard2.0/ref/mscorlib.dll",
- "build/netstandard2.0/ref/netstandard.dll",
- "build/netstandard2.0/ref/netstandard.xml",
- "lib/netstandard1.0/_._",
- "netstandard.library.2.0.3.nupkg.sha512",
- "netstandard.library.nuspec"
- ]
- },
- "Caching.dll/1.3.2": {
- "type": "project",
- "path": "../Caching/Caching.csproj",
- "msbuildProject": "../Caching/Caching.csproj"
- }
- },
- "projectFileDependencyGroups": {
- ".NETCoreApp,Version=v2.2": [
- "Caching.dll >= 1.3.2",
- "Microsoft.NETCore.App >= 2.2.0"
- ]
- },
- "packageFolders": {
- "C:\\Users\\joelc\\.nuget\\packages\\": {},
- "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
- },
- "project": {
- "version": "1.0.0",
- "restore": {
- "projectUniqueName": "C:\\Code\\Misc\\Caching\\TestNetCore\\TestNetCore.csproj",
- "projectName": "TestNetCore",
- "projectPath": "C:\\Code\\Misc\\Caching\\TestNetCore\\TestNetCore.csproj",
- "packagesPath": "C:\\Users\\joelc\\.nuget\\packages\\",
- "outputPath": "C:\\Code\\Misc\\Caching\\TestNetCore\\obj\\",
- "projectStyle": "PackageReference",
- "fallbackFolders": [
- "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
- ],
- "configFilePaths": [
- "C:\\Users\\joelc\\AppData\\Roaming\\NuGet\\NuGet.Config",
- "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
- ],
- "originalTargetFrameworks": [
- "netcoreapp2.2"
- ],
- "sources": {
- "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
- "https://api.nuget.org/v3/index.json": {}
- },
- "frameworks": {
- "netcoreapp2.2": {
- "projectReferences": {
- "C:\\Code\\Misc\\Caching\\Caching\\Caching.csproj": {
- "projectPath": "C:\\Code\\Misc\\Caching\\Caching\\Caching.csproj"
- }
- }
- }
- },
- "warningProperties": {
- "warnAsError": [
- "NU1605"
- ]
- }
- },
- "frameworks": {
- "netcoreapp2.2": {
- "dependencies": {
- "Microsoft.NETCore.App": {
- "suppressParent": "All",
- "target": "Package",
- "version": "[2.2.0, )",
- "autoReferenced": true
- }
- },
- "imports": [
- "net461"
- ],
- "assetTargetFallback": true,
- "warn": true
- }
- }
- }
-}
\ No newline at end of file
diff --git a/TestNetFramework/App.config b/TestNetFramework/App.config
deleted file mode 100644
index 88fa402..0000000
--- a/TestNetFramework/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/TestNetFramework/Program.FIFOCacheTest.cs b/TestNetFramework/Program.FIFOCacheTest.cs
deleted file mode 100644
index 473bedb..0000000
--- a/TestNetFramework/Program.FIFOCacheTest.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
-using Caching;
-
-namespace TestNetFramework
-{
- partial class Program
- {
- static void FIFOCacheTest()
- {
- try
- {
- bool runForever = true;
- int capacity = 2048;
- int evictCount = 512;
- int loadCount = 256;
- bool cacheDebug = true;
- int dataLen = 4096;
- byte[] data = InitByteArray(dataLen, 0x00);
- byte[] keyData;
-
- FIFOCache cache = new FIFOCache(capacity, evictCount, cacheDebug);
- Thread.Sleep(250);
-
- while (runForever)
- {
- Console.WriteLine("-------------------------------------------------------------------------------");
- Console.WriteLine("Available commands (FIFO Cache Test):");
- Console.WriteLine(" get Get entry by key");
- Console.WriteLine(" load Load " + loadCount + " new records");
- Console.WriteLine(" oldest Get the oldest entry");
- Console.WriteLine(" newest Get the newest entry");
- Console.WriteLine(" count Get the count of cached entries");
- Console.WriteLine(" clear Clear the cache");
- Console.WriteLine(" quit Exit the application");
- Console.WriteLine(" debug Flip the cache debug flag (currently " + cache.Debug + ")");
-
- Console.WriteLine("");
- Console.Write("Command > ");
- string userInput = Console.ReadLine();
- if (String.IsNullOrEmpty(userInput)) continue;
-
- switch (userInput.ToLower())
- {
- case "get":
- Console.Write("Key > ");
- string getKey = Console.ReadLine();
- if (String.IsNullOrEmpty(getKey)) break;
- if (cache.TryGet(getKey, out keyData)) Console.WriteLine("Cache hit");
- else Console.WriteLine("Cache miss");
- break;
-
- case "load":
- DateTime startTime = DateTime.Now;
-
- for (int i = 0; i < loadCount; i++)
- {
- string loadKey = Guid.NewGuid().ToString();
- Console.Write("Adding entry " + i + " of " + loadCount + " \r");
- cache.AddReplace(loadKey, data);
- }
-
- Console.WriteLine(
- "Loaded " + loadCount +
- " records in " + TotalTimeFrom(startTime) + ": " +
- DecimalToString(TotalMsFrom(startTime) / loadCount) + "ms per entry");
- break;
-
- case "oldest":
- Console.WriteLine("Oldest key: " + cache.Oldest());
- break;
-
- case "newest":
- Console.WriteLine("Newest key: " + cache.Newest());
- break;
-
- case "count":
- Console.WriteLine("Cache count: " + cache.Count());
- break;
-
- case "clear":
- cache.Clear();
- Console.WriteLine("Cache cleared");
- break;
-
- case "q":
- case "quit":
- runForever = false;
- break;
-
- case "debug":
- cache.Debug = !cache.Debug;
- break;
-
- default:
- continue;
- }
- }
-
- Console.WriteLine("Goodbye!");
- return;
- }
- catch (Exception e)
- {
- PrintException(e);
- }
- finally
- {
- Console.WriteLine("");
- Console.Write("Press ENTER to exit.");
- Console.ReadLine();
- }
- }
- }
-}
diff --git a/TestNetFramework/Program.LRUCacheTest.cs b/TestNetFramework/Program.LRUCacheTest.cs
deleted file mode 100644
index 5f93788..0000000
--- a/TestNetFramework/Program.LRUCacheTest.cs
+++ /dev/null
@@ -1,129 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
-using Caching;
-
-namespace TestNetFramework
-{
- partial class Program
- {
- static void LRUCacheTest()
- {
- try
- {
- bool runForever = true;
- int capacity = 2048;
- int evictCount = 512;
- int loadCount = 256;
- bool cacheDebug = true;
- int dataLen = 4096;
- byte[] data = InitByteArray(dataLen, 0x00);
- byte[] keyData;
-
- LRUCache cache = new LRUCache(capacity, evictCount, cacheDebug);
- Thread.Sleep(250);
-
- while (runForever)
- {
- Console.WriteLine("-------------------------------------------------------------------------------");
- Console.WriteLine("Available commands (LRU Cache Test):");
- Console.WriteLine(" get Get entry by key");
- Console.WriteLine(" load Load " + loadCount + " new records");
- Console.WriteLine(" last_used Get the last used entry");
- Console.WriteLine(" first_used Get the first used entry");
- Console.WriteLine(" oldest Get the oldest entry");
- Console.WriteLine(" newest Get the newest entry");
- Console.WriteLine(" count Get the count of cached entries");
- Console.WriteLine(" clear Clear the cache");
- Console.WriteLine(" quit Exit the application");
- Console.WriteLine(" debug Flip the cache debug flag (currently " + cache.Debug + ")");
-
- Console.WriteLine("");
- Console.Write("Command > ");
- string userInput = Console.ReadLine();
- if (String.IsNullOrEmpty(userInput)) continue;
-
- switch (userInput.ToLower())
- {
- case "get":
- Console.Write("Key > ");
- string getKey = Console.ReadLine();
- if (String.IsNullOrEmpty(getKey)) break;
- if (cache.TryGet(getKey, out keyData)) Console.WriteLine("Cache hit");
- else Console.WriteLine("Cache miss");
- break;
-
- case "load":
- DateTime startTime = DateTime.Now;
-
- for (int i = 0; i < loadCount; i++)
- {
- string loadKey = Guid.NewGuid().ToString();
- Console.Write("Adding entry " + i + " of " + loadCount + " \r");
- cache.AddReplace(loadKey, data);
- }
-
- Console.WriteLine(
- "Loaded " + loadCount +
- " records in " + TotalTimeFrom(startTime) + ": " +
- DecimalToString(TotalMsFrom(startTime) / loadCount) + "ms per entry");
- break;
-
- case "last_used":
- Console.WriteLine("Last used key: " + cache.LastUsed());
- break;
-
- case "first_used":
- Console.WriteLine("First used key: " + cache.FirstUsed());
- break;
-
- case "oldest":
- Console.WriteLine("Oldest key: " + cache.Oldest());
- break;
-
- case "newest":
- Console.WriteLine("Newest key: " + cache.Newest());
- break;
-
- case "count":
- Console.WriteLine("Cache count: " + cache.Count());
- break;
-
- case "clear":
- cache.Clear();
- Console.WriteLine("Cache cleared");
- break;
-
- case "q":
- case "quit":
- runForever = false;
- break;
-
- case "debug":
- cache.Debug = !cache.Debug;
- break;
-
- default:
- continue;
- }
- }
-
- Console.WriteLine("Goodbye!");
- return;
- }
- catch (Exception e)
- {
- PrintException(e);
- }
- finally
- {
- Console.WriteLine("");
- Console.Write("Press ENTER to exit.");
- Console.ReadLine();
- }
- }
- }
-}
\ No newline at end of file
diff --git a/TestNetFramework/Program.Utilities.cs b/TestNetFramework/Program.Utilities.cs
deleted file mode 100644
index 694b745..0000000
--- a/TestNetFramework/Program.Utilities.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Caching;
-
-namespace TestNetFramework
-{
- partial class Program
- {
- public static byte[] InitByteArray(int count, byte val)
- {
- byte[] ret = new byte[count];
- for (int i = 0; i < ret.Length; i++)
- {
- ret[i] = val;
- }
- return ret;
- }
-
- private static string TotalTimeFrom(DateTime startTime)
- {
- DateTime endTime = DateTime.Now;
- TimeSpan totalTime = (endTime - startTime);
-
- if (totalTime.TotalDays > 1)
- {
- return DecimalToString(totalTime.TotalDays) + "days";
- }
- else if (totalTime.TotalHours > 1)
- {
- return DecimalToString(totalTime.TotalHours) + "hrs";
- }
- else if (totalTime.TotalMinutes > 1)
- {
- return DecimalToString(totalTime.TotalMinutes) + "mins";
- }
- else if (totalTime.TotalSeconds > 1)
- {
- return DecimalToString(totalTime.TotalSeconds) + "sec";
- }
- else if (totalTime.TotalMilliseconds > 0)
- {
- return DecimalToString(totalTime.TotalMilliseconds) + "ms";
- }
- else
- {
- return "";
- }
- }
-
- private static double TotalMsFrom(DateTime startTime)
- {
- try
- {
- DateTime endTime = DateTime.Now;
- TimeSpan totalTime = (endTime - startTime);
- return totalTime.TotalMilliseconds;
- }
- catch (Exception)
- {
- return -1;
- }
- }
-
- private static string DecimalToString(object obj)
- {
- if (obj == null) return null;
- if (obj is string) if (String.IsNullOrEmpty(obj.ToString())) return null;
- string ret = string.Format("{0:N2}", obj);
- ret = ret.Replace(",", "");
- return ret;
- }
-
- static void PrintException(Exception e)
- {
- Console.WriteLine("================================================================================");
- Console.WriteLine("Exception Type: " + e.GetType().ToString());
- Console.WriteLine("Exception Data: " + e.Data);
- Console.WriteLine("Inner Exception: " + e.InnerException);
- Console.WriteLine("Exception Message: " + e.Message);
- Console.WriteLine("Exception Source: " + e.Source);
- Console.WriteLine("Exception StackTrace: " + e.StackTrace);
- Console.WriteLine("================================================================================");
- }
- }
-}
diff --git a/TestNetFramework/Program.cs b/TestNetFramework/Program.cs
deleted file mode 100644
index 7147741..0000000
--- a/TestNetFramework/Program.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Caching;
-
-namespace TestNetFramework
-{
- partial class Program
- {
- static void Main(string[] args)
- {
- bool runForever = true;
- while (runForever)
- {
- Console.WriteLine("-------------------------------------------------------------------------------");
- Console.WriteLine("Select which cache you wish to test");
- Console.WriteLine(" fifo");
- Console.WriteLine(" lru");
- Console.WriteLine("");
- Console.Write("Selection > ");
- string userInput = Console.ReadLine();
- if (String.IsNullOrEmpty(userInput)) continue;
-
- switch (userInput.ToLower())
- {
- case "fifo":
- FIFOCacheTest();
- runForever = false;
- break;
-
- case "lru":
- LRUCacheTest();
- runForever = false;
- break;
-
- default:
- continue;
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/TestNetFramework/Properties/AssemblyInfo.cs b/TestNetFramework/Properties/AssemblyInfo.cs
deleted file mode 100644
index 55078f6..0000000
--- a/TestNetFramework/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("CachingTest")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("CachingTest")]
-[assembly: AssemblyCopyright("(c)2019 Joel Christner")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("a39477cc-153f-4254-9eae-b98f2d2075a0")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.2.0.0")]
-[assembly: AssemblyFileVersion("1.2.0.0")]
diff --git a/TestNetFramework/TestNetFramework.csproj b/TestNetFramework/TestNetFramework.csproj
deleted file mode 100644
index c0ca3f6..0000000
--- a/TestNetFramework/TestNetFramework.csproj
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {A39477CC-153F-4254-9EAE-B98F2D2075A0}
- Exe
- Properties
- CachingTest
- CachingTest
- v4.5.2
- 512
- true
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {9b2cbda2-b294-4858-87d4-b0b342e17d72}
- Caching
-
-
-
-
-
\ No newline at end of file
diff --git a/TestNetFramework/bin/Debug/CSharpTest.Net.Collections.dll b/TestNetFramework/bin/Debug/CSharpTest.Net.Collections.dll
deleted file mode 100644
index a93fdec..0000000
Binary files a/TestNetFramework/bin/Debug/CSharpTest.Net.Collections.dll and /dev/null differ
diff --git a/TestNetFramework/bin/Debug/CSharpTest.Net.Collections.xml b/TestNetFramework/bin/Debug/CSharpTest.Net.Collections.xml
deleted file mode 100644
index 35938fe..0000000
--- a/TestNetFramework/bin/Debug/CSharpTest.Net.Collections.xml
+++ /dev/null
@@ -1,4575 +0,0 @@
-
-
-
- CSharpTest.Net.Collections
-
-
-
-
- Wraps the IDisposable object interface for classes that desire to be sure of being called
- a single time for the dispose.
-
-
-
-
-
-
- last-chance dispose
-
-
- disposes of the object if it has not already been disposed
-
-
- Raises the ObjectDisposedException if this object has already been disposed
-
-
- Your implementation of the dispose method
-
-
- Raised when the object is disposed
-
-
- Provides a base-class for non-reference equality objects
-
-
- return a non-reference equality comparer for this class
-
-
- Returns true if the other object is equal to this one
-
-
- Returns true if the other object is equal to this one
-
-
- Extracts the correct hash code
-
-
- Compares the two objects for non-reference equality
-
-
- Compares the two objects for non-reference equality
-
-
- Compares the two objects for non-reference equality
-
-
- Compares the two objects for non-reference equality
-
-
- Extracts the correct hash code
-
-
- Implements the equality comparer
-
-
- Compares the two objects for non-reference equality
-
-
- Extracts the correct hash code
-
-
-
- Implements an IDictionary interface for a simple file-based database
-
-
-
- Supplies a common interface to transaction based objects
-
-
- Completes the operation
-
-
- Aborts the operation and reverts pending changes
-
-
-
- Extends the IDictionary interface to encompass the TryXxxx operations
-
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- The value to be added, if the key does not already exist.
- The is read-only.
-
-
-
- Adds an element with the provided key and value to the .
-
- The object to use as the key of the element to add.
- The object to use as the value of the element to add.
- The is read-only.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The is read-only.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The value that is compared to the value of the element with key.
- The is read-only.
-
-
-
- Removes the element with the specified key from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The key of the element to remove.
- The value that was removed.
- The is read-only.
-
-
-
- Extends the IDictionaryEx interface to encompass concurrent/atomic operations
-
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- Constructs a new value for the key.
- The is read-only.
-
-
-
- Adds a key/value pair to the if the key does not already exist,
- or updates a key/value pair if the key already exists.
-
-
-
-
- Adds a key/value pair to the if the key does not already exist,
- or updates a key/value pair if the key already exists.
-
-
- Adds or modifies an element with the provided key and value. If the key does not exist in the collection,
- the factory method fnCreate will be called to produce the new value, if the key exists, the converter method
- fnUpdate will be called to create an updated value.
-
-
-
-
- Add, update, or fetche a key/value pair from the dictionary via an implementation of the
- interface.
-
-
-
-
- Adds an element with the provided key and value to the
- by calling the provided factory method to construct the value if the key is not already present in the collection.
-
-
-
-
- Modify the value associated with the result of the provided update method
- as an atomic operation, Allows for reading/writing a single record within
- the tree lock. Be cautious about the behavior and performance of the code
- provided as it can cause a dead-lock to occur. If the method returns an
- instance who .Equals the original, no update is applied.
-
-
-
-
- Removes the element with the specified key from the
- if the fnCondition predicate is null or returns true.
-
-
-
-
- Conditionally removes a key/value pair from the dictionary via an implementation of the
- interface.
-
-
-
-
- Sets a text writter that the entire btree will be dumped to after every read/write/seek operation.
- The format is a single line of text in abbreviated form: {k1{k1,k2,k3},k4{k4,k5}}
-
-
-
-
- Sets a boolean condition that will validate the state of the entire btree after every operation.
-
-
-
-
- Prints the entire tree to the text writer
-
-
-
-
- Forces a top-down, depth-first, crawl of the entire tree in which every node and
- every link or key is checked for accuracy. Throws on error.
-
-
-
-
- Constructs an in-memory BPlusTree
-
-
-
-
- Constructs an in-memory BPlusTree
-
-
-
-
- Constructs a BPlusTree using a Version 2 file format
-
-
-
-
- Constructs a BPlusTree using a Version 1 file format
-
-
-
-
- Constructs a BPlusTree
-
-
-
-
- Closes the storage and clears memory used by the instance
-
-
-
-
- When using TransactionLog, this method commits the changes in the current
- instance to the output file and truncates the log. For all other cases the method is a
- no-op and no exception is raised. This method is NOT thread safe UNLESS the CallLevelLock
- property has been set to valid reader/writer lock. If you need to call this method while
- writers are currently accessing the tree, make sure the CallLevelLock options is specified.
-
-
-
-
- With version 2 storage this will revert the contents of tree to it's initial state when
- the file was first opened, or to the state captured with the last call to commit. Any
- transaction log data will be truncated.
-
- Raised when called for a BPlusTree that is not using v2 files
-
-
-
- Due to the cost of upkeep, this must be enable each time the object is created via a call to
- EnableCount() which itself must be done before any writer threads are active for it to be
- accurate. This requires that the entire tree be loaded (sequentially) in order to build
- the initial working count. Once completed, members like Add() and Remove() will keep the
- initial count accurate.
-
-
-
-
- Safely removes all items from the in-memory cache.
-
-
-
-
- Determines whether the contains an element with the specified key.
-
-
-
-
- Gets the value associated with the specified key.
-
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The is read-only.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The value that is compared to the value of the element with key.
-
-
-
- Modify the value associated with the result of the provided update method
- as an atomic operation, Allows for reading/writing a single record within
- the tree lock. Be cautious about the behavior and performance of the code
- provided as it can cause a dead-lock to occur. If the method returns an
- instance who .Equals the original, no update is applied.
-
-
-
-
- Presorts the provided enumeration in batches and then performs an optimized insert on the resulting set(s).
-
- The items to insert
-
-
-
- Presorts the provided enumeration in batches and then performs an optimized insert on the resulting set(s).
-
- The items to insert
- True to overwrite any existing records
- The total number of records inserted or updated
-
-
-
- Optimized insert of presorted key/value pairs.
- If the input is not presorted, please use AddRange() instead.
-
- The ordered list of items to insert
-
-
-
- Optimized insert of presorted key/value pairs.
- If the input is not presorted, please use AddRange() instead.
-
- The ordered list of items to insert
- True to overwrite any existing records
- The total number of records inserted or updated
-
-
-
- Adds an element with the provided key and value to the .
-
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- The value to be added, if the key does not already exist.
- The is read-only.
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- Constructs a new value for the key.
- The is read-only.
-
-
-
- Adds an element with the provided key and value to the
- by calling the provided factory method to construct the value if the key is not already present in the collection.
-
-
-
-
- Adds an element with the provided key and value to the .
-
-
-
-
- Adds or modifies an element with the provided key and value.
-
-
-
-
- Adds a key/value pair to the if the key does not already exist,
- or updates a key/value pair if the key already exists.
-
-
-
-
- Adds a key/value pair to the if the key does not already exist,
- or updates a key/value pair if the key already exists.
-
-
-
-
- Add, update, or fetche a key/value pair from the dictionary via an implementation of the
- interface.
-
-
-
-
- Removes the element with the specified key from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The key of the element to remove.
- The value that was removed.
-
-
-
- Removes the element with the specified key from the .
-
-
-
-
- Removes the element with the specified key from the
- if the fnCondition predicate is null or returns true.
-
-
-
-
- Conditionally removes a key/value pair from the dictionary via an implementation of the
- interface.
-
-
-
-
- Returns the first key and it's associated value.
-
-
-
-
- Returns the first key and it's associated value.
-
-
-
-
- Returns the last key and it's associated value.
-
-
-
-
- Returns the last key and it's associated value.
-
-
-
-
- Inclusivly enumerates from start key to the end of the collection
-
-
-
-
- Inclusivly enumerates from start key to stop key
-
-
-
-
- Returns an enumerator that iterates through the collection.
-
-
-
-
- Copies the elements of the to an , starting at a particular index.
-
-
-
-
- Removes all items from the collection and permanently destroys all storage.
-
-
-
-
- Directly enumerates the contents of BPlusTree from disk in read-only mode.
-
- The options normally used to create the instance
- Yields the Key/Value pairs found in the file
-
-
-
- Recovers as much file content as possible into a newly created , if the operation returns
- a non-zero result it was successful and the file has been replaced with a new database containing
- the recovered data. The original file remains in-tact but was renamed with a '.deleted' extension.
-
-
- If an exception occurs during the parsing of the file and one or more records were recovered, they will
- be stored in a file by the same name with an added extension of '.recovered'. This recovered file can be
- opened as a normal to view it's contents. During the restore it is possible that
- a single Key was found multiple times, in this case the first occurrence found will be used.
-
- The options normally used to create the instance
- Returns 0 on failure, or the number of records successfully retrieved from the original file
-
-
-
- Performs a low-level scan of the storage file to yield all Key/Value pairs it was able to read from the file.
-
- The options normally used to create the instance
- options used to open the file
- Yields the Key/Value pairs found in the file
-
-
-
- Rewrite the entire BTree as a transaction to include the provided items. This method is Thread safe.
- If the input is already sorted, use BulkInsertOptions overload to specify InputIsSorted = true.
-
-
-
-
- Rewrite the entire BTree as a transaction to include the provided items. This method is Thread safe.
- If the input is already sorted, use BulkInsertOptions overload to specify InputIsSorted = true.
-
-
-
-
- Exclusive access, deep-locking enumeration for bulk-insert, essentially this enumerates
- while at the same time it chases existing writers out of the tree.
-
-
-
-
- Defines the lock used to provide tree-level exclusive operations. This should be set at the time of construction, or not at all since
- operations depending on this (Clear, EnableCount, and UnloadCache) may behave poorly if operations that started prior to setting this
- value are still being processed. Out of the locks I've tested the ReaderWriterLocking implementation performs best here since it is
- a highly read-intensive lock. All public APIs that access tree content will aquire this lock as a reader except the tree exclusive
- operations. This also allows you, by way of aquiring a write lock, to gain exclusive access and perform mass updates, atomic
- enumeration, etc.
-
-
-
- See comments on EnableCount() for usage of this property
-
-
- Returns the lock timeout being used by this instance.
-
-
-
- Gets or sets the element with the specified key.
-
-
-
-
- Gets an containing the keys of the .
-
-
-
-
- Gets an containing the values in the .
-
-
-
-
- Returns true if the file was opened in ReadOnly mode.
-
-
-
- Print formatting for nodes
-
-
- Full information for all nodes
-
-
- Formatted new lines and tabbify, but reduced information
-
-
- Compact single line format
-
-
-
- Defines the options nessessary to construct a BPlusTree implementation
-
-
-
-
- Defines the options nessessary to construct a BPlusTree implementation
-
-
-
-
- Constructs the options configuration to initialize a BPlusTree instance
-
-
-
-
- Calculates default node-threasholds based upon the average number of bytes in key and value
-
-
-
-
- Calculates default node-threasholds based upon the average number of bytes in key and value
-
-
-
-
- Creates a shallow clone of the configuration options.
-
-
-
- Enables or disables the caching and reordering of node write operations
-
-
- Sets the transaction log to use
-
-
- Used to create the correct storage type
-
-
-
- Creates the keep-alive object reference tracking implementation
-
-
-
- Accesses the key serializer given to the constructor
-
-
- Accesses the key serializer given to the constructor
-
-
- Defines a custom IComparer<T> to be used for comparing keys
-
-
-
- Returns the version this option set is compatable with.
-
-
-
-
- Can be used to explicitly specify the storage type, or by simply providing a file name this
- will be done for you. If no file name was specified the default is to use a memory store.
-
-
-
-
- Sets the BTree into a read-only mode (only supported when opening an existing file)
-
-
-
-
- Sets the custom implementation of the storage back-end to use for the BTree
-
-
-
-
- Gets or sets the FileName that should be used to store the BTree
-
-
-
-
- Gets or sets the file-create policy used when backing with a file storage
-
-
-
-
- Gets or sets the number of bytes per file-block used in the file storage
-
-
-
-
- Gets or sets the number of milliseconds to wait before failing a lock request, the default
- of two minutes should be more than adequate.
-
-
-
-
- Gets or sets the locking factory to use for accessing shared data. The default is WriterOnlyLocking()
- which does not perform read locks, rather it will rely on the cache of the btree and may preform dirty
- reads. You can use any implementation of ILockFactory; however, the SimpleReadWriteLocking seems to
- perform the most efficiently for both reader/writer locks. Additionally wrapping that instance in a
- ReserveredWriterLocking() instance will allow reads to continue up until a writer begins the commit
- process. If you are only accessing the BTree instance from a single thread this can be set to
- IgnoreLocking. Be careful of using ReaderWriterLocking as the write-intesive nature of the BTree will
- suffer extreme performance penalties with this lock.
-
-
-
-
- Defines a reader/writer lock that used to control exclusive tree access when needed. The public
- methods for EnableCount(), Clear(), and UnloadCache() each acquire an exclusive (write) lock while
- all other public methods acquire a shared (read) lock. By default this lock is non-operational
- (an instance of IgnoreLocking) so if you need the above methods to work while multiple threads are
- accessing the tree, or if you exclusive access to the tree, specify a lock instance. Since this
- lock is primarily a read-heavy lock consider using the ReaderWriterLocking or SimpleReadWriteLocking.
-
-
-
-
- A quick means of setting all the min/max values for the node counts using this value as a basis
- for the Maximum fields and one-quarter of this value for Minimum fields provided the result is in
- range.
-
-
-
-
- The smallest number of child nodes that should be linked to before refactoring the tree to remove
- this node. In a 'normal' and/or purest B+Tree this is always half of max; however for performance
- reasons this B+Tree allow any value equal to or less than half of max but at least 2.
-
- A number in the range of 2 to 128 that is at most half of MaximumChildNodes.
-
-
-
- The largest number of child nodes that should be linked to before refactoring the tree to split
- this node into two. This property has a side-effect on MinimumChildNodes to ensure that it continues
- to be at most half of MaximumChildNodes.
-
- A number in the range of 4 to 256.
-
-
-
- The smallest number of values that should be contained in this node before refactoring the tree to remove
- this node. In a 'normal' and/or purest B+Tree this is always half of max; however for performance
- reasons this B+Tree allow any value equal to or less than half of max but at least 2.
-
- A number in the range of 2 to 128 that is at most half of MaximumValueNodes.
-
-
-
- The largest number of values that should be contained in this node before refactoring the tree to split
- this node into two. This property has a side-effect on MinimumValueNodes to ensure that it continues
- to be at most half of MaximumValueNodes.
-
- A number in the range of 4 to 256.
-
-
-
- Determines how long loaded nodes stay in memory, Full keeps all loaded nodes alive and is the
- most efficient, The default Recent keeps recently visited nodes alive based on the CacheKeepAlive
- properties, and None does not cache the nodes at all but does maintain a cache of locks for
- each node visited.
-
-
-
-
- CacheKeepAliveFactory provides a delegate to inject an implementation of the IObjectKeepAlive
- interface while then igoring all the other CacheKeepAliveXXX properties.
-
-
-
-
- Determins minimum number of recently visited nodes to keep alive in memory. This number defines
- the history size, not the number of distinct nodes. This number will always be kept reguardless
- of the timeout. Specify a value of 0 to allow the timeout to empty the cache.
-
-
-
-
- Determins maximum number of recently visited nodes to keep alive in memory. This number defines
- the history size, not the number of distinct nodes. The ceiling is always respected reguardless
- of the timeout. Specify a value of 0 to disable history keep alive.
-
-
-
-
- If the cache contains more that CacheKeepAliveMinimumHistory items, this timeout will start to
- remove those items until the cache history is reduced to CacheKeepAliveMinimumHistory. It is
- important to know that the BPlusTree itself contains no theads and this timeout will not be
- respected if cache is not in use.
-
-
-
- The desired fill-size of node that contain children
-
-
- The desired fill-size of node that contain values
-
-
-
- Constructs the options configuration to initialize a BPlusTree instance using the default Comparer for TKey
-
-
-
-
- Constructs the options configuration to initialize a BPlusTree instance
-
-
-
-
- Creates a shallow clone of the configuration options.
-
-
-
-
- Calculates default node-thresholds based upon the average number of bytes in key and value
-
-
-
-
- Calculates default node-thresholds based upon the average number of bytes in key and value
-
-
-
- Used to create the correct storage type
-
-
-
- Defines a reader/writer lock that used to control exclusive tree access when needed.
- Version2 files using trasacation logs will use this to gain exclusive access to the tree
- during calls to Commit, Rollback, etc. The default is to use a SimpleReadWriteLocking
- class. If you are accessing the tree from a single thread, consider using the IgnoreLocking
- class for better performance.
-
-
-
-
- Returns the version this option set is compatible with.
-
-
-
-
- Returns the DurabilityProtection of the underlying storage to create.
-
-
-
-
- Gets or sets a filename to write binary log files to.
-
-
- This is just a short-hand way of setting the TransactionLog instance. For better performance
- at the risk of loosing a record or two, consider creating the TransactionLog instance with the
- FileOptions set to (FileOptions.WriteThrough | FileOptions.Asynchronous).
-
-
-
-
- Gets or sets an implementation of ITransactionLog<TKey, TValue> used to log writes to this
- tree for recovery and/or monitoring.
-
-
-
-
- Defines the action to perform when opening a BPlusTree with an existing log file.
-
-
-
-
- Defines the number of bytes in the transaction log file before the BPlusTree will auto-commit
- and truncate the log. Values equal to or less than zero will not auto-commit (default).
-
-
-
-
- Defines the options nessessary to construct a BPlusTree implementation
-
-
-
-
- Constructs the options configuration to initialize a BPlusTree instance using the default Comparer for TKey
-
-
-
-
- Constructs the options configuration to initialize a BPlusTree instance
-
-
-
-
- Creates a shallow clone of the configuration options.
-
-
-
-
- Calculates default node-threasholds based upon the average number of bytes in key and value
-
-
-
-
- Calculates default node-threasholds based upon the average number of bytes in key and value
-
-
-
- Used to create the correct storage type
-
-
-
- Gets or sets the number of bytes per file-block used in the file storage
-
-
-
-
- Gets or sets the number of blocks that a file will grow by when all blocks are used, use zero for incremental growth
-
-
-
-
- Gets or sets the number of streams that will be created for threads to write in the file store
-
-
-
-
- Returns the version this option set is compatable with.
-
-
-
- Provides base functionality of a node cache, not much exciting here
-
-
- performs a perfect cache of the entire tree
-
-
- performs a perfect cache of the entire tree
-
-
- For enumeration
-
-
-
- An interface to provide conditional removal of an item from a concurrent dictionary.
-
-
- Generally implemented as a struct and passed by ref to save stack space and to retrieve the values
- that where inserted or updated.
-
-
-
-
- Called when the dictionary is about to remove the key/value pair provided, return true to allow
- it's removal, or false to prevent it from being removed.
-
-
-
-
- An interface to provide conditional or custom creation or update logic to a concurrent dictionary.
-
-
- Generally implemented as a struct and passed by ref to save stack space and to retrieve the values
- that where inserted or updated.
-
-
-
-
- An interface to provide conditional or custom creation logic to a concurrent dictionary.
-
-
-
-
- Called when the key was not found within the dictionary to produce a new value that can be added.
- Return true to continue with the insertion, or false to prevent the key/value from being inserted.
-
-
-
-
- An interface to provide conditional or custom update logic to a concurrent dictionary.
-
-
-
-
- Called when the key was found within the dictionary to produce a modified value to update the item
- to. Return true to continue with the update, or false to prevent the key/value from being updated.
-
-
-
- Provides serialization for a type
-
-
- Writes the object to the stream
-
-
- Reads the object from a stream
-
-
-
- This is the default cache type, uses weakreferences and the GC to collect unused nodes after they exit
- the ObjectKeepAlive containment policy.
-
-
-
- Represents a persistance mechanic for node data
-
-
- Returns an immutable handle to the root node, sets isNew to true if no data exists
-
-
- Destroys the entire contents of the storage system except for the root handle which remains valid
-
-
- Retrieves a single node from storage
-
-
- Creates a node handle that will represent a new node instance
-
-
- Destroys the node that was formally stored by the specified handle
-
-
- Updates the node of the specified handle with the instance given
-
-
- An optional interface that allows storage provides to persist the record count
-
-
-
- Used to retrieve the current record count after opening a store, -1 indicates an invalid entry.
- Prior to Commit() the count will be set to the actual record count.
-
-
-
-
- Disposes of each element in the collection when the collection is disposed.
-
-
-
-
- Disposes of each element in the collection when the collection is disposed.
-
-
-
-
- Initializes a new instance of the System.Collections.Generic.List>T> class
- that is empty and has the default initial capacity.
-
-
-
-
- Initializes a new instance of the System.Collections.Generic.List>T> class
- that contains elements copied from the specified collection and has sufficient
- capacity to accommodate the number of elements copied.
-
-
-
-
- Initializes a new instance of the System.Collections.Generic.List>T> class
- that is empty and has the specified initial capacity.
-
-
-
-
- Disposes of each element in the collection when the collection is disposed.
-
-
-
-
- Initializes a new instance of the System.Collections.Generic.List>T> class
- that is empty and has the default initial capacity.
-
-
-
-
- Initializes a new instance of the System.Collections.Generic.List>T> class
- that contains elements copied from the specified collection and has sufficient
- capacity to accommodate the number of elements copied.
-
-
-
-
- Initializes a new instance of the System.Collections.Generic.List>T> class
- that is empty and has the specified initial capacity.
-
-
-
- Represents an immutable collection of unique items that can be manipulated as a set, intersect/union/etc.
-
-
-
- Provides a strongly typed shallow copy of the current object
-
-
-
-
- Returns a shallow clone of this object.
-
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Returns the zero-based index of the item or -1
-
-
- Returns true if the item is already in the collection
-
-
- Copy the collection to an array
-
-
- Returns this collection as an array
-
-
- Removes all items from the collection
-
-
- Returns a new collection adding the item provided
-
-
- Returns a new collection adding the item provided
-
-
- Adds a range of items to the collection
-
-
- Adds or replaces an item in the collection, returns true if an entry was replaced
-
-
- Adds or replaces an item in the collection, returns true if any item was replaced
-
-
- Not supported, the list is sorted.
-
-
- Returns a new collection with the item provided removed
-
-
- Removes an item by it's ordinal index in the collection
-
-
- Removes the items in this set that are not in the provided set
- { 1, 2, 3 }.RemoveAll({ 2, 3, 4 }) == { 1 }
-
-
- Returns the set of items that are in both this set and the provided set
- { 1, 2, 3 }.IntersectWith({ 2, 3, 4 }) == { 2, 3 }
-
-
- Returns the set of items that are in either this set or the provided set
- { 1, 2, 3 }.UnionWith({ 2, 3, 4 }) == { 1, 2, 3, 4 }
-
-
- Returns the items in the provided set that are not in this set
- { 1, 2, 3 }.ComplementOf({ 2, 3, 4 }) == { 4 }
-
-
- Returns the items in this set that are not in the provided set
- { 1, 2, 3 }.RemoveAll({ 2, 3, 4 }) == { 1 }
-
-
- Returns the items in this set that are not in the provided set
- { 1, 2, 3 }.ExclusiveOrWith({ 2, 3, 4 }) == { 1, 4 }
-
-
- Returns true if all items in this set are also in the provided set
- { 1, 2 }.IsEqualTo({ 1, 2 }) == true && {}.IsEqualTo({}) == true
-
-
- Returns true if all items in this set are also in the provided set
- { 1, 2, 4 }.IsSubsetOf({ 1, 2, 3, 4 }) == true && {}.IsSubsetOf({ 1 }) == true
-
-
- Returns true if all items in the provided set are also in this set
- { 1, 2, 3, 4 }.IsSupersetOf({ 1, 2, 4 }) == true && { 1 }.IsSupersetOf({}) == true
-
-
- Copies collection to array
-
-
- Returns an enumerator
-
-
- Returns a typed enumerator
-
-
- Returns a shallow clone of this object
-
-
- Provides an empty set
-
-
- Access an item by it's ordinal offset in the list
-
-
- Returns true if the list is read-only
-
-
- Returns the count of items in the list
-
-
- Returns false
-
-
- Returns SyncRoot
-
-
-
- Dictionary comparer for comparing arrays of bytes by value equality
-
-
-
- returns true if both arrays contain the exact same set of bytes.
-
-
- Compares the contents of the byte arrays and returns the result.
-
-
- Returns a hash code the instance of the object
-
-
- Compares the contents of the byte arrays and returns the result.
-
-
- Returns true if the two objects are the same instance
-
-
- Returns a hash code the instance of the object
-
-
- Defines the storage type to use
-
-
- Uses in-memory storage
-
-
- Uses a file to store data, (Set by setting the FileName property)
-
-
- Uses a custom data store, (Set by setting the StorageSystem property)
-
-
- Determines if the file specified should be created
-
-
- Does not create a new file
-
-
- Creates a new file even if one already exists
-
-
- Creates a new file only if it does not exist
-
-
- Determines the type of node caching used in the tree
-
-
- Does not cache, allways loads from storage.
-
-
- Keeps every loaded object in memory.
-
-
- Keeps a history of objects in memory (see CacheKeepAliveXXX properties)
-
-
-
- Defines the action to perform when opening a BPlusTree with an existing log file.
-
-
-
-
- Infers the default wether or not the data file was created. For newly created data
- files (CreatePolicy = Always, or IfNeeded and the file is missing) the default will
- be Truncate. When existing data files are opened the default will ReplayAndCommit.
-
-
-
- Ignore the existing entries in the log
-
-
- Replay the log entries uncommitted
-
-
- Replay the log entries and commit the changes to the store
-
-
- Ignore the existing entries and truncate the log
-
-
-
- Defines the levels of durability the store will try to achieve. 'Uncommitted changes' in the descriptions below
- refers to all changes made to the tree since the last call to CommitChanges() on the BPlusTree class.
-
-
-
- (100k rps) Uncommitted changes will be lost, a crash durring commit may corrupt state.
-
- No changes are committed until a call to Commit is made, durring the commit a partial write may corrupt the store.
-
-
-
- (30k rps) Uses a system-cached transaction log to recover uncommitted changes after a process crash.
- Will not corrupt state; however, in a power outage or system failure it may loose some comitted records.
-
-
- (8k rps) Every write will commit changes to the storage file immediately into system cache
- May corrupt state and/or loose data in the event of a power outage
-
-
- (2k rps) Uses a cache-writethrough transaction log to recover uncommitted changes after a power outage or system crash.
- Complies with ACID durability requirements, can be expensive to recover from the log.
-
-
- (1k rps) Every write will commit changes to the storage file immediately bypassing system cache (Slowest/Safest)
- Complies with ACID durability requirements
-
-
- Defaults to using a transaction log in system cache for best performance/durability.
-
-
- Determines the binary file format and backwards compatibility
-
-
- Version 1 compatable
-
-
- Version 2 compatable
-
-
-
- Implements an IDictionary interface for an in-memory B+Tree
-
-
-
- The default `order` of the B+Tree structure.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
-
- Removes all items from the .
-
- The Collection is read-only.
-
-
-
- Gets the value associated with the specified key.
-
-
- true if the object that implements contains an element with the specified key; otherwise, false.
-
-
-
-
- Adds an element with the provided key and value to the .
-
- The object to use as the key of the element to add.
- The object to use as the value of the element to add.
- An element with the same key already exists in the .
- The is read-only.
-
-
-
- Adds an item to the .
-
- The object to add to the .
- An element with the same key already exists in the .
- The is read-only.
-
-
-
- Adds a set of items to the .
-
- The items to add to the .
- An element with the same key already exists in the .
- The is read-only.
-
-
-
- Determines whether the contains an element with the specified key.
-
-
- true if the contains an element with the key; otherwise, false.
-
-
-
-
- Determines whether the contains a specific key and value pair.
-
- true if is found in the ; otherwise, false.
- The object to locate in the .
-
-
-
- Removes the element with the specified key from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The key of the element to remove.
- The is read-only.
-
-
-
- Removes the first occurrence of a specific object from the .
-
-
- true if was successfully removed from the ; otherwise, false.
- This method also returns false if is not found in the original .
-
- The object to remove from the .
- The is read-only.
-
-
-
- Copies the elements of the to an , starting at a particular index.
-
-
-
-
- Returns an enumerator that iterates through the collection.
-
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- The value to be added, if the key does not already exist.
- The is read-only.
-
-
-
- Adds an element with the provided key and value to the .
-
- The object to use as the key of the element to add.
- The object to use as the value of the element to add.
- The is read-only.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The is read-only.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The value that is compared to the value of the element with key.
- The is read-only.
-
-
-
- Removes the element with the specified key from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The key of the element to remove.
- The value that was removed.
- The is read-only.
-
-
-
- Returns all the items of this collection as an array of .
-
-
-
-
- Returns the first key and it's associated value.
-
-
-
-
- Returns the first key and it's associated value.
-
-
-
-
- Returns the last key and it's associated value.
-
-
-
-
- Returns the last key and it's associated value.
-
-
-
-
- Inclusivly enumerates from start key to the end of the collection
-
-
-
-
- Inclusivly enumerates from start key to stop key
-
-
-
-
- Returns a writable clone of this collection.
-
-
-
-
- Returns a read-only clone of this collection. If this instance is already read-only the method will return this.
-
-
-
-
- Ensures data integrity or raises exception
-
-
-
-
- Gets the number of elements contained in the .
-
-
-
-
- Gets a value indicating whether the is read-only.
-
-
-
-
- Gets the Comparer provided to the constructor or Comparer<TKey>.Default if it was not provided.
-
-
-
-
- Gets or sets the element with the specified key.
-
-
- The element with the specified key.
-
- The key of the element to get or set.
- The property is retrieved and is not found.
- The property is set and the is read-only.
-
-
-
- Gets an containing the keys of the .
-
-
-
-
- Gets an containing the values in the .
-
-
-
-
- Implements an IList interface for an in-memory B+Tree of unique values
-
-
-
- The default `order` of the B+Tree structure.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
-
- Removes all items from the .
-
- The Collection is read-only.
-
-
-
- Adds an element with the provided value to the .
-
- The object to use as the value of the element to add.
- An element with the same value already exists in the .
- The is read-only.
-
-
-
- Adds a set of items to the .
-
- The items to add to the .
- An element with the same value already exists in the .
- The is read-only.
-
-
-
- Determines whether the contains a specific value pair.
-
- true if is found in the ; otherwise, false.
- The object to locate in the .
-
-
-
- Warning O(n) operation: This method works; however, it is not intended for use on sufficiently large lists.
- Determines the index of a specific item in the .
-
- The index of if found in the list; otherwise, -1.
- The object to locate in the .
-
-
-
- Warning O(n) operation: This method works; however, it is not intended for use on sufficiently large lists.
-
-
-
-
- Removes the element with the specified value from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The value of the element to remove.
- The is read-only.
-
-
-
- Copies the elements of the to an , starting at a particular index.
-
-
-
-
- Returns an enumerator that iterates through the collection.
-
-
-
-
- Adds an element with the provided value to the .
-
- The object to use as the value of the element to add.
- The is read-only.
-
-
-
- Returns all the items of this collection as an array of .
-
-
-
-
- Inclusivly enumerates from start value to the end of the collection
-
-
-
-
- Inclusivly enumerates from start value to stop value
-
-
-
-
- Returns a writable clone of this collection.
-
-
-
-
- Returns a read-only clone of this collection. If this instance is already read-only the method will return this.
-
-
-
-
- Gets the number of elements contained in the .
-
-
-
-
- Gets a value indicating whether the is read-only.
-
-
-
-
- Gets the Comparer provided to the constructor or Comparer<TKey>.Default if it was not provided.
-
-
-
-
- Warning O(n) operation: This method works; however, it is not intended for use on sufficiently large lists.
-
-
-
- Provides a delegate that performs an atomic update of a key/value pair
-
-
- Provides a delegate that performs a test on key/value pair
-
-
-
- Represents a key-value comparison
-
-
-
-
- Creates a key-value comparison using the default comparer for type TKey
-
-
-
-
- Creates a key-value comparison with the specified comparer
-
-
-
-
- Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.
-
-
-
-
- Represents a key-value comparison using the default comparer for type TKey
-
-
-
-
- Returns the comparer being used by this instance
-
-
-
-
- Defines if and how items added to a LurchTable are linked together, this defines
- the value returned from Peek/Dequeue as the oldest entry of the specified operation.
-
-
-
- No linking
-
-
- Linked in insertion order
-
-
- Linked by most recently inserted or updated
-
-
- Linked by most recently inserted, updated, or fetched
-
-
-
- LurchTable stands for "Least Used Recently Concurrent Hash Table" and has definate
- similarities to both the .NET 4 ConcurrentDictionary as well as Java's LinkedHashMap.
- This gives you a thread-safe dictionary/hashtable that stores element ordering by
- insertion, updates, or access. In addition it can be configured to use a 'hard-limit'
- count of items that will automatically 'pop' the oldest item in the collection.
-
- The type of keys in the dictionary.
- The type of values in the dictionary.
-
-
- Creates a LurchTable that can store up to (capacity) items efficiently.
-
-
- Creates a LurchTable that can store up to (capacity) items efficiently.
-
-
- Creates a LurchTable that can store up to (capacity) items efficiently.
-
-
- Creates a LurchTable that orders items by (ordering) and removes items once the specified (limit) is reached.
-
-
- Creates a LurchTable that orders items by (ordering) and removes items once the specified (limit) is reached.
-
-
-
- Creates a LurchTable that orders items by (ordering) and removes items once the specified (limit) is reached.
-
- The type of linking for the items
- The maximum allowable number of items, or int.MaxValue for unlimited
- The number of hash buckets to use for the collection, usually 1/2 estimated capacity
- The number of entries to allocate at a time, usually 1/16 estimated capacity
- The number of concurrency locks to preallocate, usually 1/256 estimated capacity
- The element hash generator for keys
-
-
-
- Clears references to all objects and invalidates the collection
-
-
-
-
- WARNING: not thread-safe, reinitializes all internal structures. Use Clear() for a thread-safe
- delete all. If you have externally provided exclusive access this method may be used to more
- efficiently clear the collection.
-
-
-
-
- Removes all items from the .
-
-
-
-
- Determines whether the contains an element with the specified key.
-
-
-
-
- Gets the value associated with the specified key.
-
-
- true if the object that implements contains an element with the specified key; otherwise, false.
-
-
-
-
- Adds an element with the provided key and value to the .
-
-
-
-
- Removes the element with the specified key from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The key of the element to remove.
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- The value to be added, if the key does not already exist.
-
-
-
- Adds an element with the provided key and value to the .
-
- The object to use as the key of the element to add.
- The object to use as the value of the element to add.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The value that is compared to the value of the element with key.
-
-
-
- Removes the element with the specified key from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The key of the element to remove.
- The value that was removed.
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- Constructs a new value for the key.
-
-
-
- Adds a key/value pair to the if the key does not already exist,
- or updates a key/value pair if the key already exists.
-
-
-
-
- Adds a key/value pair to the if the key does not already exist,
- or updates a key/value pair if the key already exists.
-
-
- Adds or modifies an element with the provided key and value. If the key does not exist in the collection,
- the factory method fnCreate will be called to produce the new value, if the key exists, the converter method
- fnUpdate will be called to create an updated value.
-
-
-
-
- Add, update, or fetche a key/value pair from the dictionary via an implementation of the
- interface.
-
-
-
-
- Adds an element with the provided key and value to the
- by calling the provided factory method to construct the value if the key is not already present in the collection.
-
-
-
-
- Modify the value associated with the result of the provided update method
- as an atomic operation, Allows for reading/writing a single record within
- the syncronization lock.
-
-
-
-
- Removes the element with the specified key from the
- if the fnCondition predicate is null or returns true.
-
-
-
-
- Conditionally removes a key/value pair from the dictionary via an implementation of the
- interface.
-
-
-
-
- Returns an enumerator that iterates through the collection.
-
-
-
-
- Retrieves the oldest entry in the collection based on the ordering supplied to the constructor.
-
- True if the out parameter value was set.
- Raised if the table is unordered
-
-
-
- Removes the oldest entry in the collection based on the ordering supplied to the constructor.
- If an item is not available a busy-wait loop is used to wait for for an item.
-
- The Key/Value pair removed.
- Raised if the table is unordered
-
-
-
- Removes the oldest entry in the collection based on the ordering supplied to the constructor.
-
- False if no item was available
- Raised if the table is unordered
-
-
-
- Removes the oldest entry in the collection based on the ordering supplied to the constructor.
-
- False if no item was available
- Raised if the table is unordered
-
-
- Event raised after an item is removed from the collection
-
-
- Event raised after an item is updated in the collection
-
-
- Event raised after an item is added to the collection
-
-
-
- Gets the number of elements contained in the .
-
-
-
-
- Retrieves the LurchTableOrder Ordering enumeration this instance was created with.
-
-
-
-
- Retrives the key comparer being used by this instance.
-
-
-
-
- Retrives the record limit allowed in this instance.
-
-
-
-
- Gets or sets the element with the specified key.
-
-
-
-
- Gets an containing the keys of the .
-
-
-
-
- Gets an containing the values in the .
-
-
-
- Method signature for the ItemUpdated event
-
-
-
- Provides an enumerator that iterates through the collection.
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Advances the enumerator to the next element of the collection.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
-
-
- Gets the element in the collection at the current position of the enumerator.
-
-
-
-
- Provides the collection of Keys for the LurchTable
-
-
-
-
- Determines whether the contains a specific value.
-
-
-
-
- Copies the elements of the to an , starting at a particular index.
-
-
-
-
- Returns an enumerator that iterates through the collection.
-
-
-
-
- Gets the number of elements contained in the .
-
-
-
-
- Provides an enumerator that iterates through the collection.
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Advances the enumerator to the next element of the collection.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
-
-
- Gets the element in the collection at the current position of the enumerator.
-
-
-
-
- Provides the collection of Values for the LurchTable
-
-
-
-
- Determines whether the contains a specific value.
-
-
-
-
- Copies the elements of the to an , starting at a particular index.
-
-
-
-
- Returns an enumerator that iterates through the collection.
-
-
-
-
- Gets the number of elements contained in the .
-
-
-
-
- Provides an enumerator that iterates through the collection.
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Advances the enumerator to the next element of the collection.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
-
-
- Gets the element in the collection at the current position of the enumerator.
-
-
-
-
- Provides a stable array sort based on merge-sort using O(n) additional memory. As a release build,
- this routine will operate faster than Array.Sort when using a custom (non-default) comparison. It
- also has the advantange of being stable, that is it preserves the order of elements that compare as
- being of equal value.
-
-
-
- Sorts the contents of the array using a stable merge-sort with O(n) additional memory
-
-
- Sorts the contents of the array using a stable merge-sort with O(n) additional memory
- This overload also yields the working copy of the array which is unsorted.
-
-
- Sorts the contents of the array using a stable merge-sort with O(n) additional memory
-
-
- Sorts the contents of the array using a stable merge-sort with O(n) additional memory
-
-
- Sorts the contents of the array using a stable merge-sort with O(n) additional memory
-
-
- Sorts the contents of the array using a stable merge-sort with O(n) additional memory
-
-
-
- Options for bulk insertion
-
-
-
- Constructs with defaults: false/RaisesException
-
-
- Gets or sets a value that controls input presorting
-
-
- Gets or sets the handling for duplicate key collisions
-
-
- When true (default) BulkInsert will call CommitChanges() on successfull completion
-
-
- When false merges the data with the existing contents, set to true to replace all content
-
-
- Defines how duplicate keys are handled
-
-
- Do nothing and pass-through all duplicates
-
-
- Remove all but the first item of duplicates
-
-
- Remove all but the last item of duplicates
-
-
- Throw an error on duplicates
-
-
-
- Creates an ordered enumeration from an unordered enumeration by paginating the data, sorting the page,
- and then performing a binary-tree grouped mergesort on the resulting pages. When the page size (memoryLimit)
- is hit, the page will be unloaded to disk and restored on demand if a serializer is provided.
-
-
-
- Constructs an ordered enumeration from an unordered enumeration
-
-
- Constructs an ordered enumeration from an unordered enumeration
-
-
- Constructs an ordered enumeration from an unordered enumeration
-
-
- Constructs an ordered enumeration from an unordered enumeration
-
-
-
- Returns an enumerator that iterates through the collection.
-
- GetEnumerator() may only be called once.
- Enumeration is out of sequence.
- Duplicate item in enumeration.
-
-
-
- Merges two ordered enumerations based on the comparer provided.
-
-
-
-
- Merges n-number of ordered enumerations based on the default comparer of T.
-
-
-
-
- Merges n-number of ordered enumerations based on the comparer provided.
-
-
-
-
- Merges n-number of ordered enumerations based on the comparer provided.
-
-
-
-
- Wraps an existing enumeration of Key/value pairs with an assertion about ascending order and handling
- for duplicate keys.
-
-
-
-
- Gets or sets the comparer to use when ordering the items.
-
-
-
-
- Gets or sets the serializer to use when paging to disk.
-
-
-
-
- Gets or sets the number of instances to keep in memory before sorting/paging to disk.
-
- You must specify the Serializer before setting this property
-
-
- Gets or sets the duplicate item handling policy
-
-
-
- Speicalizes the OrderedEnumeration of T to use key/value pairs with a key comparer.
-
-
-
- Constructs an ordered set of KeyValuePair structs
-
-
- Constructs an ordered set of KeyValuePair structs
-
-
- Constructs an ordered set of KeyValuePair structs
-
-
- Constructs an ordered set of KeyValuePair structs
-
-
- Constructs an ordered set of KeyValuePair structs
-
-
- Constructs an ordered set of KeyValuePair structs
-
-
-
- Merges n-number of ordered enumerations based on the comparer provided.
-
-
-
-
- Merges n-number of ordered enumerations based on the comparer provided.
-
-
-
-
- An ordinal list is a list optimized to store lists of integer data that can then be manipulated
- as a set with intersect/union etc. Each integer stored is translated to a bit offset and thus
- cann't be stored more than once or in any particular order. Note: adding the value int.Max will
- allocate int.Max/8 bytes of memory, so this is best used with ordinal indexes into a list that
- is smaller than 8,388,608 (one megabyte of bits). Pre-allocate with Ceiling = max for better
- performance, or add the integers in reverse order (highest to lowest).
-
-
-
- Constructs an empty OrdinalList
-
-
- Constructs an OrdinalList from a set of bits represeting the ordinals
-
-
- Constructs an OrdinalList from the integer ordinals provided
-
-
- Empty the OrdinalList
-
-
- Adds a range of integer ordinals into the collection
-
-
- Adds an integer ordinal into the collection
-
-
- Removes an ordinal from the collection
-
-
- Returns true if the ordinal is in the collection
-
-
- Extracts the ordinals into an array
-
-
- Returns the array of ordinals that have been added.
-
-
- Returns the complete set of raw bytes for storage and reconstitution
-
-
- Returns the 1's compliment (inverts) of the list up to Ceiling
-
-
- Returns the set of items that are in both this set and the provided set
- { 1, 2, 3 }.IntersectWith({ 2, 3, 4 }) == { 2, 3 }
-
-
- Returns the set of items that are in either this set or the provided set
- { 1, 2, 3 }.UnionWith({ 2, 3, 4 }) == { 1, 2, 3, 4 }
-
-
- Returns an enumeration of the ordinal values
-
-
- Returns an enumeration of the ordinal values
-
-
- Returns an enumeration of the ordinal values
-
-
-
- Creates a new object that is a copy of the current instance.
-
-
-
- Semi-expensive, returns the count of ordinals in the collection
-
-
-
- Gets or sets the maximum inclusive ordinal that can be stored in the memory currently
- allocated, ranges from -1 to int.MaxValue
-
-
-
- Returns false
-
-
-
- A value representing the state/identifer/object of a single transaction. The field's
- meaning is defined by the ITrasactionLog implementation and is otherwise treated as an
- opaque token identifier of the transaction.
-
-
-
- Undefined
-
-
- Undefined
-
-
- Undefined
-
-
-
- Options used to initialize a TransactionLog
-
-
-
-
- Options used to initialize a TransactionLog
-
-
-
- Creates a shallow clone of the instance
-
-
- The serializer for the TKey type
-
-
- The serializer for the TValue type
-
-
- The file name to read/write the log
-
-
- The file open options for appending to a log, default = WriteThrough
-
-
- The file buffer size, CAUTION: values above 16 bytes may leave data in memory
-
-
- Gets or sets if the transaction log is treated as read-only
-
-
-
- Represents a transaction log of writes to a dictionary.
-
-
-
-
- Replay the entire log file to the provided dictionary interface
-
-
-
-
- Replay the log file from the position provided and output the new log position
-
-
-
-
- Merges the contents of the log with an existing ordered key/value pair collection.
-
-
-
-
- Truncate the log and remove all existing entries
-
-
-
-
- Notifies the log that a transaction is begining and create a token for this
- transaction scope.
-
-
-
- The provided key/value pair was added in the provided transaction
-
-
- The provided key/value pair was updated in the provided transaction
-
-
- The provided key/value pair was removed in the provided transaction
-
-
-
- Commits the provided transaction
-
-
-
-
- Abandons the provided transaction
-
-
-
-
- Returns the filename being currently used for transaction logging
-
-
-
-
- Returns the current size of the log file in bytes
-
-
-
-
- The default transaction log for a BPlusTree instance to provide backup+log recovery
-
-
-
-
- Creates an instance of a transaction log
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Flushes any pending writes and closes the writer.
-
-
-
-
- Replay the entire log file to the provided dictionary interface
-
-
-
-
- Replay the log file from the position provided and output the new log position
-
-
-
-
- Merges the contents of the log with an existing ordered key/value pair collection.
-
-
-
-
- Replay the log file from the position provided and output the new log position
-
-
-
-
- Truncate the log and remove all existing entries
-
-
-
-
- Notifies the log that a transaction is begining and create a token for this
- transaction scope.
-
-
-
- The provided key/value pair was added in the provided transaction
-
-
- The provided key/value pair was updated in the provided transaction
-
-
- The provided key/value pair was removed in the provided transaction
-
-
-
- Commits the provided transaction
-
-
-
-
- Abandons the provided transaction
-
-
-
-
- Returns the file name of the current transaction log file
-
-
-
-
- Returns the current size of the log file in bytes
-
-
-
- The base class for BPlutTree runtime assertions
-
-
- The base class for BPlutTree runtime assertions
-
-
- The base class for BPlutTree runtime assertions
-
-
- The base class for BPlutTree runtime assertions
-
-
-
- Exception class: AssertionFailedException
- A runtime assertion failed while performing the operation.
-
-
-
-
- if(condition == false) throws A runtime assertion failed: {0}
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- A runtime assertion failed while performing the operation.
-
-
-
-
- A runtime assertion failed while performing the operation.
-
-
-
-
- if(condition == false) throws A runtime assertion failed while performing the operation.
-
-
-
-
- A runtime assertion failed: {0}
-
-
-
-
- A runtime assertion failed: {0}
-
-
-
-
- if(condition == false) throws A runtime assertion failed: {0}
-
-
-
- Identifies a class as a reference to a node instance
-
-
-
- A static singleton and factory that uses a globally common instance.
-
-
-
-
- Returns the singleton instance of T
-
-
-
-
- Returns a factory that returns the singleton instance
-
-
-
- Generic factory for instances of type T
-
-
- Creates an instance of an object assignable to type T
-
-
-
- A factory that creates a new instance of an object each time Create() is called.
-
-
-
- Returns a new instance of T
-
-
-
- A delegate that takes no arguemnts and returns a single value
-
-
-
-
- A factory that creates a new instance of an object each time Create() is called.
-
-
-
- A factory that delegates instance creation
-
-
- Returns an instance of T
-
-
-
- A factory that always returns the same instance of an object each time Create() is called.
-
-
-
- Provide the instance of T
-
-
- Returns the instance of T given to the constructor
-
-
-
- Provides a base-class that aggregates another stream object
-
-
-
- Creates the wrapper without an underlying stream
-
-
- Creates the wrapper with the underlying stream
-
-
- Disposes of this.Stream
-
-
- Disposes of this.Stream
-
-
-
- When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device.
-
-
-
-
- When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
-
-
-
-
- Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.
-
-
-
-
- When overridden in a derived class, sets the position within the current stream.
-
-
-
-
- When overridden in a derived class, sets the length of the current stream.
-
-
-
-
- When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
-
-
-
-
- Writes a byte to the current position in the stream and advances the position within the stream by one byte.
-
-
-
- Allows modifying the underlying stream
-
-
-
- When overridden in a derived class, gets a value indicating whether the current stream supports reading.
-
-
-
-
- When overridden in a derived class, gets a value indicating whether the current stream supports seeking.
-
-
-
-
- When overridden in a derived class, gets a value indicating whether the current stream supports writing.
-
-
-
-
- When overridden in a derived class, gets the length in bytes of the stream.
-
-
-
-
- When overridden in a derived class, gets or sets the position within the current stream.
-
-
-
- Provides a simple CRC32 checksum for a set of bytes
-
-
- Resumes the computation of a CRC32 value
-
-
- Initailizes the Crc32 value to the checksum of the string as a series of 16-bit values
-
-
- Initailizes the Crc32 value to the checksum of the bytes provided
-
-
- Returns the computed CRC32 value as a Hex string
-
-
- Adds a byte to the checksum
-
-
- Adds a byte to the checksum
-
-
- Adds an entire array of bytes to the checksum
-
-
- Adds a range from an array of bytes to the checksum
-
-
- Adds an entire array of bytes to the checksum
-
-
- Adds a string to the checksum as a series of 16-bit values (big endian)
-
-
- Adds a string to the checksum as a series of 16-bit values
-
-
- Extracts the correct hash code
-
-
- Returns true if the other object is equal to this one
-
-
- Returns true if the other object is equal to this one
-
-
- Returns true if the CRC32 provided is equal to this one
-
-
- Compares the two objects for equality
-
-
- Compares the two objects for equality
-
-
- Compares the two objects for equality
-
-
- Compares the two objects for equality
-
-
- Returns the computed CRC32 value
-
-
-
- Provides a default implementation of an IFactory for creating streams on a single file.
-
-
-
- Creates an IFactory for creating streams on a single file
-
-
- Creates an IFactory for creating streams on a single file
-
-
- Creates an IFactory for creating streams on a single file
-
-
- Creates an IFactory for creating streams on a single file
-
-
- Creates an IFactory for creating streams on a single file
-
-
-
- Creates the file stream
-
-
-
- The FileName that this factory produces streams for
-
-
-
- Provides a means of storing multitudes of small files inside one big one. I doubt this is a
- good name for it, but it works. Anyway, the file is broken into fixed size blocks and each
- block can be chained to another to allow the sub-allocation to grow larger than the block size.
- This is the primary storage vehicle for the BPlusTree implementation.
-
-
-
- Common operational values for 'normal' files
-
-
- Common operational values for using OS cache write-through (SLOW)
-
-
- Uses FILE_FLAG_NO_BUFFERING see http://msdn.microsoft.com/en-us/library/cc644950(v=vs.85).aspx (SLOWEST)
-
-
-
- Opens an existing fragmented file store, to create a new one call the CreateNew() static
-
- The file name that will store the data
- The block size that was specified when CreateNew() was called
-
-
-
- Opens an existing fragmented file store, to create a new one call the CreateNew() static
-
- The file name that will store the data
- The block size that was specified when CreateNew() was called
- The number of blocks to grow the file by when needed, or zero for on-demand
- The number of threads that can simultaneously access the file
- The file options to use when opening the file
-
-
-
- Opens an existing fragmented file store, to create a new one call the CreateNew() static
-
- The file name that will store the data
- The block size on disk to be used for allocations
- The number of blocks to grow the file by when needed, or zero for on-demand
- The number of threads that can simultaneously access the file
- The file access requested
- The file share permissions
- The file options to use when opening the file
-
-
-
- Opens an existing fragmented file store, to create a new one call the CreateNew() static
-
- An IFactory that produces streams for a storage
- The block size to be used for allocations
- The number of blocks to grow the file by when needed, or zero for on-demand
- The number of threads that can simultaneously access the file
-
-
- Internal use to specify aligned IO when using NoBuffering file option
-
-
-
- Closes the storage, a must-do to save a costly recomputation of free block on open
-
-
-
-
- Creates a new file (or truncates an existing one) that stores multiple smaller files
-
-
-
-
- Creates a new file (or truncates an existing one) that stores multiple smaller files
-
-
-
-
- Creates a new file (or truncates an existing one) that stores multiple smaller files
-
-
-
-
- Creates a new file (or truncates an existing one) that stores multiple smaller files
-
-
-
- Destroys all contents of the file and resets to an initial state
-
-
- Creates a new allocation block within the file
- A unique integer id for the block to be used with Open/Delete
-
-
- Creates a new allocation block within the file
- A unique integer id for the block to be used with Open/Delete
- The stream to write to the newly created block
-
-
-
- Opens the file with the identity previously obtained by Create() using the
- access provided; however, Read+Write is not supported, use either Read or
- Write but not both.
-
-
-
-
- Deletes the contents written to the identity provided and returns the
- identity to the available pool.
-
-
-
- Used for enumeration of the storage blocks in the file.
- Allows enumeration of all stream, or of just the externally allocated streams
- Determines if the checksum should be verified while reading the block bytes
- A method that returns true to ignore the exception and continue processing
- Enumeration of the identity and data stream of each block in the file
-
-
- Returns the 'first' block identity that can be allocated
-
-
-
- A collection of Stream helpers
-
-
-
- Reads all of the bytes from the input stream, input stream will be disposed
-
-
- Reads all of the bytes from the input stream, input stream will be disposed
-
-
- Reads a the number of bytes specified or throws IOException
-
-
- Reads a the number of bytes specified or throws IOException
-
-
- Reads a the number of bytes specified or throws IOException
-
-
- Attempts to read the number of bytes specified and returns the actual count
-
-
- Attempts to read the number of bytes specified and returns the actual count
-
-
- Copy the entire input stream to the provided output stream, input stream will be disposed
- The number of bytes copied
-
-
- Copy the specified number of bytes from the input stream to the provided output stream
- The number of bytes copied
-
-
-
- Provides a simple means of caching several streams on a single file and for a thread
- to quickly exclusive access to one of those streams. This class provides the base
- implementation used by FileStreamCache and FragmentedFile.
-
-
-
-
- Constructs the stream cache allowing one stream per thread
-
-
-
-
- Constructs the stream cache with the maximum allowed stream items
-
-
-
-
-
-
-
- Waits for a stream to become available and returns a wrapper on that stream. Just dispose like
- any other stream to return the resource to the stream pool.
-
-
-
-
- Waits for a stream to become available and returns a wrapper on that stream. Just dispose like
- any other stream to return the resource to the stream pool.
-
-
-
-
- Provides a class for managing a temporary file and making reasonable a attempt to remove it upon disposal.
-
-
-
-
- Attaches a new instances of a TempFile to the provided file path
-
-
-
-
- Creates a temp file having the provided extension
-
-
-
-
- Creates a temp file having the provided extension
-
-
-
-
- Creates a temp file having a copy of the specified file
-
-
-
-
- Safely delete the provided file name
-
-
-
-
- Constructs a new temp file with a newly created/empty file.
-
-
-
-
- Manage the provided file path
-
-
-
-
- Removes the file if Dispose() is not called
-
-
-
- Disposes of the temporary file
-
-
-
- Disposes of the temporary file
-
-
-
-
- Detatches this instance from the temporary file and returns the temp file's path
-
-
-
- Reads all bytes from the file
-
-
- Writes all bytes to the file
-
-
- Reads all UTF8 text from the file
-
-
- Writes all UTF8 text to the file
-
-
-
- Deletes the current temp file immediatly if it exists.
-
-
-
-
- Re-Creates and Opens the temporary file for writing, multiple calls will truncate existing data.
-
-
-
-
- Open or Create the temporary file for reading and writing
-
-
-
-
- Opens the temporary file for reading
-
-
-
-
- Opens the temporary file for reading
-
-
-
-
- Copies the file content to the specified target file name
-
-
-
-
- Copies the file content to the specified target file name
-
-
-
-
- Returns the temporary file path being managed.
-
-
-
-
- Returns true if the current temp file exists.
-
-
-
-
- Gets or sets the current length of the temp file. If setting the length on a file that
- does not exist one will be created. If getting the length of a file that doesnt exist
- zero will be returned.
-
-
-
-
- Returns the FileInfo object for this temp file.
-
-
-
-
- Similar behavior to the FragmentedFile; however, a much improved implementation. Allows for
- file-level commit/rollback or write-by-write commits to disk. By default provides data-protection
- against process-crashes but not OS crashes. Use FileOptions.WriteThrough to protect against
- OS crashes and power outtages.
-
-
-
-
- Creates or opens a TransactedCompoundFile using the filename specified.
-
-
-
-
- Creates or opens a TransactedCompoundFile using the filename specified.
-
-
-
-
- Closes all streams and clears all in-memory data.
-
-
-
-
- Flushes any pending writes to the disk and returns.
-
-
-
-
- For file-level transactions, performs a two-stage commit of all changed handles.
-
-
-
-
- For file-level transactions, performs a two-stage commit of all changed handles.
- After the first stage has completed, the stageCommit() delegate is invoked.
-
-
-
-
-
-
-
- For file-level transactions, Reloads the file from it's original (or last committed) state.
-
- When CommitOnWrite is true, there is no going back.
-
-
-
- Allocates a handle for data, you MUST call Write to commit the handle, otherwise the handle
- may be reallocated after closing and re-opening this file. If you do not intend to commit
- the handle by writing to it, you should still call Delete() so that it may be reused.
-
-
-
-
- Writes the bytes provided to the handle that was previously obtained by a call to Create().
- The length must not be more than ((16*BlockSize)-32) bytes in length. The exact header size
- (32 bytes) may change without notice in a future release.
-
-
-
-
- Reads all bytes from the from the handle specified
-
-
-
-
- Deletes the handle and frees the associated block space for reuse.
-
-
-
-
- Immediatly truncates the file to zero-length and re-initializes an empty file
-
-
-
-
- Returns the first block that *would* be allocated by a call to Create() on an empty file.
-
-
-
-
- Advanced Options used to construct a TransactedCompoundFile
-
-
-
-
- Constructs an Options instance
-
- The file name to use
-
-
-
- Returns a copy of the options currently specified.
-
-
-
-
- Retrieves the file name that was provided to the constructor
-
-
-
-
- Defines the block-size used for storing data. Data storred in a given handle must be less than ((16*BlockSize)-8)
-
-
-
-
- Returns the maximum number of bytes that can be written to a single handle base on the current BlockSize setting.
-
-
-
-
- The FileOptions used for writing to the file
-
-
-
-
- Gets or sets a flag that controls if the file is opened in read-only mode. For ReadOnly
- files, another writer may exist; however, changes to the file will not be reflected until
- reload.
-
-
-
-
- True to create a new file, false to use the existing file. If this value is false and the
- file does not exist an exception will be raised.
-
-
-
-
- When true every write will rewrite the modified handle(s) back to disk, otherwise the
- handle state is kept in memory until a call to commit has been made.
-
-
-
-
- Automatically Commit the storage file when it's disposed.
-
-
-
-
- See comments on the LoadingRule enumerated type and Commit(Action,T)
-
-
-
-
- Defines the loading rule to apply when using a transacted file that was interrupted
- durring the commit process.
-
-
-
-
- Load all from Primary if valid, else load all from Secondary. If both fail,
- load either Primary or Secondary for each segment. This is the normal option,
- use the other options only when recovering from a commit that was incomplete.
-
-
-
-
- If you previously called Commit(Action,T) on a prior instance and the Action
- delegate *was* called, then setting this value will ensure that only the
- primary state storage is loaded, thereby ensuring you load the 'previous'
- state.
-
-
-
-
- If you previously called Commit(Action,T) on a prior instance and the Action
- delegate was *not* called, then setting this value will ensure that only the
- secondary state storage is loaded, thereby ensuring you load the 'previous'
- state.
-
-
-
-
- A strongly-typed resource class, for looking up localized strings, etc.
-
-
-
-
- The singleton for type {0} threw an excpetion.
-
-
-
-
- Invalid file extension: '{0}'.
-
-
-
-
- The type {0} is not convertable from a string.
-
-
-
-
- Returns the cached ResourceManager instance used by this class.
-
-
-
-
- Overrides the current thread's CurrentUICulture property for all
- resource lookups using this strongly typed resource class.
-
-
-
-
- Looks up a localized string similar to Failed to compress/decompress the full input stream..
-
-
-
-
- Looks up a localized string similar to Failed to read from input stream..
-
-
-
-
- Looks up a localized string similar to The running process must first exit..
-
-
-
-
- Returns the raw format strings.
-
-
-
-
- The singleton for type {0} threw an excpetion.
-
-
-
-
- Invalid file extension: '{0}'.
-
-
-
-
- The type {0} is not convertable from a string.
-
-
-
-
- Returns the raw exception strings.
-
-
-
-
- Formats a message for an exception
-
-
-
-
-
-
-
-
- A runtime assertion failed while performing the operation.
-
-
-
-
- A runtime assertion failed: {0}
-
-
-
-
- A lock timeout has expired due to a possible deadlock.
-
-
-
-
- Debug Assertion Failed: {0}
-
-
-
-
- The specified key already exists in the collection.
-
-
-
-
- The configuration value '{0}' is invalid.
-
-
-
-
- The configuration value '{0}' is invalid.
- {1}
-
-
-
-
- A storage handle was invalid or has been corrupted.
-
-
-
-
- The LurchTable internal datastructure appears to be corrupted.
-
-
-
-
- Exception class: DeadlockException
- A lock timeout has expired due to a possible deadlock.
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- A lock timeout has expired due to a possible deadlock.
-
-
-
-
- A lock timeout has expired due to a possible deadlock.
-
-
-
-
- if(condition == false) throws A lock timeout has expired due to a possible deadlock.
-
-
-
-
- Exception class: DebugAssertionFailedException
- Debug Assertion Failed: {0}
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- Debug Assertion Failed: {0}
-
-
-
-
- Debug Assertion Failed: {0}
-
-
-
-
- if(condition == false) throws Debug Assertion Failed: {0}
-
-
-
-
- Exception class: DuplicateKeyException
- The specified key already exists in the collection.
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- The specified key already exists in the collection.
-
-
-
-
- The specified key already exists in the collection.
-
-
-
-
- if(condition == false) throws The specified key already exists in the collection.
-
-
-
-
- Exception class: InvalidConfigurationValueException
- The configuration value '{0}' is invalid.
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- The configuration value '{0}' is invalid.
-
-
-
-
- The configuration value '{0}' is invalid.
-
-
-
-
- if(condition == false) throws The configuration value '{0}' is invalid.
-
-
-
-
- The configuration value '{0}' is invalid.
- {1}
-
-
-
-
- The configuration value '{0}' is invalid.
- {1}
-
-
-
-
- if(condition == false) throws The configuration value '{0}' is invalid.
- {1}
-
-
-
-
- Exception class: InvalidNodeHandleException
- A storage handle was invalid or has been corrupted.
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- A storage handle was invalid or has been corrupted.
-
-
-
-
- A storage handle was invalid or has been corrupted.
-
-
-
-
- if(condition == false) throws A storage handle was invalid or has been corrupted.
-
-
-
-
- Exception class: LurchTableCorruptionException
- The LurchTable internal datastructure appears to be corrupted.
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- The LurchTable internal datastructure appears to be corrupted.
-
-
-
-
- The LurchTable internal datastructure appears to be corrupted.
-
-
-
-
- if(condition == false) throws The LurchTable internal datastructure appears to be corrupted.
-
-
-
-
- Returns all bytes in the stream, or writes all bytes to the stream
-
-
-
- Gets a singleton of the BytesSerializer class
-
-
-
- Implements ISerializer of KeyValuePair<TKey, TValue>
-
-
-
-
- Provide the key/value serializers to use.
-
-
-
- Writes the object to the stream
-
-
- Reads the object from a stream
-
-
-
- Reads the same variant prefixed string and byte[] but with a hard-limit on size
-
-
-
-
- Constructs a limited length-prefix data reader/writer
-
-
-
- Reads up to 1024 length-prefixed byte array
-
-
- Reads up to 2048 length-prefixed byte array
-
-
- Reads up to 4092 length-prefixed byte array
-
-
- Reads up to 8196 length-prefixed byte array
-
-
- Reads up to 256 length-prefixed string
-
-
- Reads up to 512 length-prefixed string
-
-
- Reads up to 1024 length-prefixed string
-
-
- This is the only class with read/write prefixed data
-
-
-
- Provides simple implementations of ISerializer<T> for the primitive .Net types.
-
-
-
- Gets a singleton of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
-
- Provides numeric serializers for packed int/long values.
-
-
-
- Gets a singleton of the VariantNumberSerializer
-
-
- Gets a typed version of the VariantNumberSerializer
-
-
- Gets a typed version of the VariantNumberSerializer
-
-
- Gets a typed version of the VariantNumberSerializer
-
-
- Gets a typed version of the VariantNumberSerializer
-
-
- Writes the object to the stream
-
-
- Reads the object from a stream
-
-
-
- Provides a file-based storage for the BPlusTree dictionary
-
-
-
-
- Opens an existing BPlusTree file at the path specified, for a new file use CreateNew()
-
-
-
-
- Closes the file in it's current state.
-
-
-
-
- Provides a file-based storage for the BPlusTree dictionary
-
-
-
-
- Opens an existing BPlusTree file at the path specified, for a new file use CreateNew()
-
-
-
-
- Closes the file in it's current state.
-
-
-
-
- Creates an empty file store in the path specified
-
-
-
-
- Provides an in-memory implementation of the storage services for BPlusTree, useful when testing :)
-
-
-
- Default in-memory storage
-
-
-
- wraps the reader/writer lock around Monitor
-
-
-
-
- An interface that allows reader/writer locking with the using() statement
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a read lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a writer lock
-
-
-
-
- The the current writer sequence number
-
-
-
- The writer version
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a read lock
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a writer lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Changes every time a write lock is aquired. If WriteVersion == 0, no write locks have been issued.
-
-
- Singleton instance of ignore locking
-
-
- A factory that produces instances of ILockStrategy to aquire/release read/write locks
-
-
- Returns the IgnoreLocking.Instance singleton
-
-
-
- wraps the reader/writer lock around Monitor
-
-
-
- Singleton instance of ignore locking
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a read lock
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a writer lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns Zero.
-
-
- A generic implementation that constructs a lock by type
-
-
- Returns a new lock of type T
-
-
-
- wraps the System.Threading.ReaderWriterLock lock, does not support read->write upgrades
-
-
-
-
- wraps the reader/writer lock
-
-
-
-
- wraps the reader/writer lock
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a read lock
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a writer lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Changes every time a write lock is aquired. If WriteVersion == 0, no write locks have been issued.
-
-
-
- Allows a read lock to be disposed or elevated to a write lock
-
-
-
- Acquires the lock within the timeout or throws TimeoutException
-
-
-
- Tracks an existing read lock on a resource
-
-
- Acquires a read lock on the resource
-
-
- Unlocks the resource
-
-
-
- Returns true if read access is locked
-
-
-
-
- Used to acquire a lock(object) with a timeout, either specified or the default of 2 minutes.
-
-
-
-
- The default timeout value used when one is not provided to the constructor
-
-
-
-
- Acquires the monitor lock on the object within 2 minutes, or throws TimeoutException
-
-
-
-
- Acquires the monitor lock on the object within timeoutMilliseconds, or throws TimeoutException
-
-
-
- Releases the lock acquired by the constructor
-
-
-
- Exactly as SafeLock except that <T> specifies the exception type to throw.
- Used to acquire a lock(object) with a timeout, either specified or the default of 2 minutes.
-
-
-
-
- Acquires the monitor lock on the object within 2 minutes, or throws TimeoutException
-
-
-
-
- Acquires the monitor lock on the object within timeoutMilliseconds, or throws TimeoutException
-
-
-
- Releases the lock acquired by the constructor
-
-
-
- provides a simple and fast, reader-writer lock, does not support read->write upgrades,
- if you need an upgradeable lock, use UpgradeableReadWriteLocking
-
-
-
- Max number of Spin loops before polling the _event
-
-
- Number of iterations used for Thread.SpinWait(x)
-
-
- Setup of the SpinWaitTime/SpinLoops by processor count
-
-
- The event used to wake a waiting writer when a read lock is released
-
-
- The syncronization object writers and potential readers use to lock
-
-
- The total number of read locks on this lock
-
-
- The number of readers the pending writer is waiting upon
-
-
- The number of time a write lock has been issued
-
-
- The managed thread id for the thread holding the write lock
-
-
- The number of times the write lock thread has acquired a write lock
-
-
-
- Constructs the reader-writer lock using 'this' as the syncronization object
-
-
-
-
- Constructs the reader-writer lock using the specified object for syncronization
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a read lock
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- This is the only real work to be done, once we've acquired the write lock
- we have to wait for all readers to complete. If/when that happens we can
- then own the write lock. The case where this does not take place is when
- a thread that already owns the lock calls us to lock again. In this case
- we can just return success and ignore the outstanding read requests. The
- major problem with this approach is that if function A() does a read-lock
- and calls function B() which does a write lock, this will fail. So the
- solution is to either use the upgradeable version (see the derived class
- UpgradableReadWriteLocking) and upgrade, or to start with a write lock in
- function A().
-
-
-
-
- Releases a writer lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Changes every time a write lock is aquired. If WriteVersion == 0, no write locks have been issued.
-
-
-
- Allows a write lock to be disposed
-
-
-
- Acquires the lock within the timeout or throws TimeoutException
-
-
-
- Tracks an existing read lock on a resource
-
-
- Acquires a read lock on the resource
-
-
- Unlocks the resource
-
-
-
- Returns true if write access is locked
-
-
-
-
- provides a writer-only lock around Monitor. The TryRead/ReleaseRead methods are no-ops and
- always return true.
-
-
-
- The writer version
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a read lock
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a writer lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Changes every time a write lock is aquired. If WriteVersion == 0, no write locks have been issued.
-
-
-
- provides a set of runtime validations for inputs
-
-
-
-
- Verifies that the condition is true and if it fails constructs the specified type of
- exception and throws.
-
-
-
-
- Verifies that the condition is true and if it fails constructs the specified type of
- exception with any arguments provided and throws.
-
-
-
-
- Verifies that the condition is true and if it fails throws the execption returned
- by fnExceptionBuilder()
-
-
-
-
- Verifies that the condition is true and if it fails constructs the specified type of
- exception with any arguments provided and throws.
-
-
-
-
- Verifies that value is not null and returns the value or throws ArgumentNullException
-
-
-
-
- Verfies that the string is not null and not empty and returns the string.
- throws ArgumentNullException, ArgumentOutOfRangeException
-
-
-
-
- Verfies that the Guid is not empty.
- throws ArgumentOutOfRangeException
-
-
-
-
- Verfies that the collection is not null and not empty and returns the collection.
- throws ArgumentNullException, ArgumentOutOfRangeException
-
-
-
-
- Verifies that the two values are the same
- throws ArgumentException
-
-
-
-
- Verifies that the two values are NOT the same
- throws ArgumentException
-
-
-
-
- Verifies that the array is not empty and has at least min, but not more than max items.
- throws ArgumentNullExcpetion
- throws ArgumentOutOfRangeException
-
-
-
-
- Verifies that the value is min, max, or between the two.
- throws ArgumentOutOfRangeException
-
-
-
-
- Returns (T)value if the object provided can be assinged to a variable of type T
- throws ArgumentException
-
-
-
-
- Returns value if the object provided can be assinged to a variable of type toType
- throws ArgumentException
-
-
-
-
- Throws ArgumentException if the type fromType cannot be assigned to variable of type toType
-
-
-
-
- Used to delay creation of the excpetion until the condition fails.
-
-
-
-
- Provides an interface for tracking a limited number of references to objects for use in a WeakReference
- cache.
-
-
-
-
- Clears the entire keep-alive cache
-
-
-
-
- Can be called periodically by external threads to ensure cleanup instead of depending upon calls to Add()
-
-
-
-
- Cleans up expired items and adds the object to the list of items to keep alive.
-
-
-
-
- Provides a means of forcing the garbage collector to wait on objects aquired from permanent
- storage while only holding WeakReference's of the object. Essentially uses a simple lockless
- algorithm to track the most recently loaded objects so that they will stay alive longer.
-
-
-
-
- Configures the keep-alive policy for this container
-
- The minimum number of items desired in the list (kept event after age expires)
- The maximum number of items desired in the list (discarded even if age has not expired)
- Determines how long to keep an object if the count is between min and max
-
-
-
- Configures the keep-alive policy for this container
-
- The minimum number of items desired in the list (kept event after age expires)
- The maximum number of items desired in the list (discarded even if age has not expired)
- Determines how long to keep an object if the count is between min and max
- True if you want to perform cleanup exclusivly on another thread by calling Tick(), otherwise false
-
-
-
- Clears the entire keep-alive cache
-
-
-
-
- Can be called periodically by external threads to ensure cleanup instead of depending upon calls to Add()
-
-
-
-
- Cleans up expired items and adds the object to the list of items to keep alive.
-
-
-
-
- A strong-typed derivation of the WeakReference class
-
-
-
- Creates a new WeakReference that keeps track of target.
-
-
-
-
-
- Returns true if the Object was retrieved.
-
-
-
- Gets an indication whether the object referenced by the current object has been garbage collected.
-
-
-
- Gets or sets the Object stored in the handle if it's accessible.
-
-
-
diff --git a/TestNetFramework/bin/Debug/Caching.dll b/TestNetFramework/bin/Debug/Caching.dll
deleted file mode 100644
index bfe6a56..0000000
Binary files a/TestNetFramework/bin/Debug/Caching.dll and /dev/null differ
diff --git a/TestNetFramework/bin/Debug/Caching.pdb b/TestNetFramework/bin/Debug/Caching.pdb
deleted file mode 100644
index 63ed5a1..0000000
Binary files a/TestNetFramework/bin/Debug/Caching.pdb and /dev/null differ
diff --git a/TestNetFramework/bin/Debug/CachingTest.exe b/TestNetFramework/bin/Debug/CachingTest.exe
deleted file mode 100644
index b059b19..0000000
Binary files a/TestNetFramework/bin/Debug/CachingTest.exe and /dev/null differ
diff --git a/TestNetFramework/bin/Debug/CachingTest.exe.config b/TestNetFramework/bin/Debug/CachingTest.exe.config
deleted file mode 100644
index 88fa402..0000000
--- a/TestNetFramework/bin/Debug/CachingTest.exe.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/TestNetFramework/bin/Debug/CachingTest.pdb b/TestNetFramework/bin/Debug/CachingTest.pdb
deleted file mode 100644
index bbf7782..0000000
Binary files a/TestNetFramework/bin/Debug/CachingTest.pdb and /dev/null differ
diff --git a/TestNetFramework/bin/Debug/CachingTest.vshost.exe b/TestNetFramework/bin/Debug/CachingTest.vshost.exe
deleted file mode 100644
index 681ab77..0000000
Binary files a/TestNetFramework/bin/Debug/CachingTest.vshost.exe and /dev/null differ
diff --git a/TestNetFramework/bin/Debug/CachingTest.vshost.exe.config b/TestNetFramework/bin/Debug/CachingTest.vshost.exe.config
deleted file mode 100644
index 88fa402..0000000
--- a/TestNetFramework/bin/Debug/CachingTest.vshost.exe.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/TestNetFramework/bin/Debug/CachingTest.vshost.exe.manifest b/TestNetFramework/bin/Debug/CachingTest.vshost.exe.manifest
deleted file mode 100644
index 061c9ca..0000000
--- a/TestNetFramework/bin/Debug/CachingTest.vshost.exe.manifest
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/TestNetFramework/bin/Release/CSharpTest.Net.Collections.xml b/TestNetFramework/bin/Release/CSharpTest.Net.Collections.xml
deleted file mode 100644
index 35938fe..0000000
--- a/TestNetFramework/bin/Release/CSharpTest.Net.Collections.xml
+++ /dev/null
@@ -1,4575 +0,0 @@
-
-
-
- CSharpTest.Net.Collections
-
-
-
-
- Wraps the IDisposable object interface for classes that desire to be sure of being called
- a single time for the dispose.
-
-
-
-
-
-
- last-chance dispose
-
-
- disposes of the object if it has not already been disposed
-
-
- Raises the ObjectDisposedException if this object has already been disposed
-
-
- Your implementation of the dispose method
-
-
- Raised when the object is disposed
-
-
- Provides a base-class for non-reference equality objects
-
-
- return a non-reference equality comparer for this class
-
-
- Returns true if the other object is equal to this one
-
-
- Returns true if the other object is equal to this one
-
-
- Extracts the correct hash code
-
-
- Compares the two objects for non-reference equality
-
-
- Compares the two objects for non-reference equality
-
-
- Compares the two objects for non-reference equality
-
-
- Compares the two objects for non-reference equality
-
-
- Extracts the correct hash code
-
-
- Implements the equality comparer
-
-
- Compares the two objects for non-reference equality
-
-
- Extracts the correct hash code
-
-
-
- Implements an IDictionary interface for a simple file-based database
-
-
-
- Supplies a common interface to transaction based objects
-
-
- Completes the operation
-
-
- Aborts the operation and reverts pending changes
-
-
-
- Extends the IDictionary interface to encompass the TryXxxx operations
-
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- The value to be added, if the key does not already exist.
- The is read-only.
-
-
-
- Adds an element with the provided key and value to the .
-
- The object to use as the key of the element to add.
- The object to use as the value of the element to add.
- The is read-only.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The is read-only.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The value that is compared to the value of the element with key.
- The is read-only.
-
-
-
- Removes the element with the specified key from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The key of the element to remove.
- The value that was removed.
- The is read-only.
-
-
-
- Extends the IDictionaryEx interface to encompass concurrent/atomic operations
-
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- Constructs a new value for the key.
- The is read-only.
-
-
-
- Adds a key/value pair to the if the key does not already exist,
- or updates a key/value pair if the key already exists.
-
-
-
-
- Adds a key/value pair to the if the key does not already exist,
- or updates a key/value pair if the key already exists.
-
-
- Adds or modifies an element with the provided key and value. If the key does not exist in the collection,
- the factory method fnCreate will be called to produce the new value, if the key exists, the converter method
- fnUpdate will be called to create an updated value.
-
-
-
-
- Add, update, or fetche a key/value pair from the dictionary via an implementation of the
- interface.
-
-
-
-
- Adds an element with the provided key and value to the
- by calling the provided factory method to construct the value if the key is not already present in the collection.
-
-
-
-
- Modify the value associated with the result of the provided update method
- as an atomic operation, Allows for reading/writing a single record within
- the tree lock. Be cautious about the behavior and performance of the code
- provided as it can cause a dead-lock to occur. If the method returns an
- instance who .Equals the original, no update is applied.
-
-
-
-
- Removes the element with the specified key from the
- if the fnCondition predicate is null or returns true.
-
-
-
-
- Conditionally removes a key/value pair from the dictionary via an implementation of the
- interface.
-
-
-
-
- Sets a text writter that the entire btree will be dumped to after every read/write/seek operation.
- The format is a single line of text in abbreviated form: {k1{k1,k2,k3},k4{k4,k5}}
-
-
-
-
- Sets a boolean condition that will validate the state of the entire btree after every operation.
-
-
-
-
- Prints the entire tree to the text writer
-
-
-
-
- Forces a top-down, depth-first, crawl of the entire tree in which every node and
- every link or key is checked for accuracy. Throws on error.
-
-
-
-
- Constructs an in-memory BPlusTree
-
-
-
-
- Constructs an in-memory BPlusTree
-
-
-
-
- Constructs a BPlusTree using a Version 2 file format
-
-
-
-
- Constructs a BPlusTree using a Version 1 file format
-
-
-
-
- Constructs a BPlusTree
-
-
-
-
- Closes the storage and clears memory used by the instance
-
-
-
-
- When using TransactionLog, this method commits the changes in the current
- instance to the output file and truncates the log. For all other cases the method is a
- no-op and no exception is raised. This method is NOT thread safe UNLESS the CallLevelLock
- property has been set to valid reader/writer lock. If you need to call this method while
- writers are currently accessing the tree, make sure the CallLevelLock options is specified.
-
-
-
-
- With version 2 storage this will revert the contents of tree to it's initial state when
- the file was first opened, or to the state captured with the last call to commit. Any
- transaction log data will be truncated.
-
- Raised when called for a BPlusTree that is not using v2 files
-
-
-
- Due to the cost of upkeep, this must be enable each time the object is created via a call to
- EnableCount() which itself must be done before any writer threads are active for it to be
- accurate. This requires that the entire tree be loaded (sequentially) in order to build
- the initial working count. Once completed, members like Add() and Remove() will keep the
- initial count accurate.
-
-
-
-
- Safely removes all items from the in-memory cache.
-
-
-
-
- Determines whether the contains an element with the specified key.
-
-
-
-
- Gets the value associated with the specified key.
-
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The is read-only.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The value that is compared to the value of the element with key.
-
-
-
- Modify the value associated with the result of the provided update method
- as an atomic operation, Allows for reading/writing a single record within
- the tree lock. Be cautious about the behavior and performance of the code
- provided as it can cause a dead-lock to occur. If the method returns an
- instance who .Equals the original, no update is applied.
-
-
-
-
- Presorts the provided enumeration in batches and then performs an optimized insert on the resulting set(s).
-
- The items to insert
-
-
-
- Presorts the provided enumeration in batches and then performs an optimized insert on the resulting set(s).
-
- The items to insert
- True to overwrite any existing records
- The total number of records inserted or updated
-
-
-
- Optimized insert of presorted key/value pairs.
- If the input is not presorted, please use AddRange() instead.
-
- The ordered list of items to insert
-
-
-
- Optimized insert of presorted key/value pairs.
- If the input is not presorted, please use AddRange() instead.
-
- The ordered list of items to insert
- True to overwrite any existing records
- The total number of records inserted or updated
-
-
-
- Adds an element with the provided key and value to the .
-
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- The value to be added, if the key does not already exist.
- The is read-only.
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- Constructs a new value for the key.
- The is read-only.
-
-
-
- Adds an element with the provided key and value to the
- by calling the provided factory method to construct the value if the key is not already present in the collection.
-
-
-
-
- Adds an element with the provided key and value to the .
-
-
-
-
- Adds or modifies an element with the provided key and value.
-
-
-
-
- Adds a key/value pair to the if the key does not already exist,
- or updates a key/value pair if the key already exists.
-
-
-
-
- Adds a key/value pair to the if the key does not already exist,
- or updates a key/value pair if the key already exists.
-
-
-
-
- Add, update, or fetche a key/value pair from the dictionary via an implementation of the
- interface.
-
-
-
-
- Removes the element with the specified key from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The key of the element to remove.
- The value that was removed.
-
-
-
- Removes the element with the specified key from the .
-
-
-
-
- Removes the element with the specified key from the
- if the fnCondition predicate is null or returns true.
-
-
-
-
- Conditionally removes a key/value pair from the dictionary via an implementation of the
- interface.
-
-
-
-
- Returns the first key and it's associated value.
-
-
-
-
- Returns the first key and it's associated value.
-
-
-
-
- Returns the last key and it's associated value.
-
-
-
-
- Returns the last key and it's associated value.
-
-
-
-
- Inclusivly enumerates from start key to the end of the collection
-
-
-
-
- Inclusivly enumerates from start key to stop key
-
-
-
-
- Returns an enumerator that iterates through the collection.
-
-
-
-
- Copies the elements of the to an , starting at a particular index.
-
-
-
-
- Removes all items from the collection and permanently destroys all storage.
-
-
-
-
- Directly enumerates the contents of BPlusTree from disk in read-only mode.
-
- The options normally used to create the instance
- Yields the Key/Value pairs found in the file
-
-
-
- Recovers as much file content as possible into a newly created , if the operation returns
- a non-zero result it was successful and the file has been replaced with a new database containing
- the recovered data. The original file remains in-tact but was renamed with a '.deleted' extension.
-
-
- If an exception occurs during the parsing of the file and one or more records were recovered, they will
- be stored in a file by the same name with an added extension of '.recovered'. This recovered file can be
- opened as a normal to view it's contents. During the restore it is possible that
- a single Key was found multiple times, in this case the first occurrence found will be used.
-
- The options normally used to create the instance
- Returns 0 on failure, or the number of records successfully retrieved from the original file
-
-
-
- Performs a low-level scan of the storage file to yield all Key/Value pairs it was able to read from the file.
-
- The options normally used to create the instance
- options used to open the file
- Yields the Key/Value pairs found in the file
-
-
-
- Rewrite the entire BTree as a transaction to include the provided items. This method is Thread safe.
- If the input is already sorted, use BulkInsertOptions overload to specify InputIsSorted = true.
-
-
-
-
- Rewrite the entire BTree as a transaction to include the provided items. This method is Thread safe.
- If the input is already sorted, use BulkInsertOptions overload to specify InputIsSorted = true.
-
-
-
-
- Exclusive access, deep-locking enumeration for bulk-insert, essentially this enumerates
- while at the same time it chases existing writers out of the tree.
-
-
-
-
- Defines the lock used to provide tree-level exclusive operations. This should be set at the time of construction, or not at all since
- operations depending on this (Clear, EnableCount, and UnloadCache) may behave poorly if operations that started prior to setting this
- value are still being processed. Out of the locks I've tested the ReaderWriterLocking implementation performs best here since it is
- a highly read-intensive lock. All public APIs that access tree content will aquire this lock as a reader except the tree exclusive
- operations. This also allows you, by way of aquiring a write lock, to gain exclusive access and perform mass updates, atomic
- enumeration, etc.
-
-
-
- See comments on EnableCount() for usage of this property
-
-
- Returns the lock timeout being used by this instance.
-
-
-
- Gets or sets the element with the specified key.
-
-
-
-
- Gets an containing the keys of the .
-
-
-
-
- Gets an containing the values in the .
-
-
-
-
- Returns true if the file was opened in ReadOnly mode.
-
-
-
- Print formatting for nodes
-
-
- Full information for all nodes
-
-
- Formatted new lines and tabbify, but reduced information
-
-
- Compact single line format
-
-
-
- Defines the options nessessary to construct a BPlusTree implementation
-
-
-
-
- Defines the options nessessary to construct a BPlusTree implementation
-
-
-
-
- Constructs the options configuration to initialize a BPlusTree instance
-
-
-
-
- Calculates default node-threasholds based upon the average number of bytes in key and value
-
-
-
-
- Calculates default node-threasholds based upon the average number of bytes in key and value
-
-
-
-
- Creates a shallow clone of the configuration options.
-
-
-
- Enables or disables the caching and reordering of node write operations
-
-
- Sets the transaction log to use
-
-
- Used to create the correct storage type
-
-
-
- Creates the keep-alive object reference tracking implementation
-
-
-
- Accesses the key serializer given to the constructor
-
-
- Accesses the key serializer given to the constructor
-
-
- Defines a custom IComparer<T> to be used for comparing keys
-
-
-
- Returns the version this option set is compatable with.
-
-
-
-
- Can be used to explicitly specify the storage type, or by simply providing a file name this
- will be done for you. If no file name was specified the default is to use a memory store.
-
-
-
-
- Sets the BTree into a read-only mode (only supported when opening an existing file)
-
-
-
-
- Sets the custom implementation of the storage back-end to use for the BTree
-
-
-
-
- Gets or sets the FileName that should be used to store the BTree
-
-
-
-
- Gets or sets the file-create policy used when backing with a file storage
-
-
-
-
- Gets or sets the number of bytes per file-block used in the file storage
-
-
-
-
- Gets or sets the number of milliseconds to wait before failing a lock request, the default
- of two minutes should be more than adequate.
-
-
-
-
- Gets or sets the locking factory to use for accessing shared data. The default is WriterOnlyLocking()
- which does not perform read locks, rather it will rely on the cache of the btree and may preform dirty
- reads. You can use any implementation of ILockFactory; however, the SimpleReadWriteLocking seems to
- perform the most efficiently for both reader/writer locks. Additionally wrapping that instance in a
- ReserveredWriterLocking() instance will allow reads to continue up until a writer begins the commit
- process. If you are only accessing the BTree instance from a single thread this can be set to
- IgnoreLocking. Be careful of using ReaderWriterLocking as the write-intesive nature of the BTree will
- suffer extreme performance penalties with this lock.
-
-
-
-
- Defines a reader/writer lock that used to control exclusive tree access when needed. The public
- methods for EnableCount(), Clear(), and UnloadCache() each acquire an exclusive (write) lock while
- all other public methods acquire a shared (read) lock. By default this lock is non-operational
- (an instance of IgnoreLocking) so if you need the above methods to work while multiple threads are
- accessing the tree, or if you exclusive access to the tree, specify a lock instance. Since this
- lock is primarily a read-heavy lock consider using the ReaderWriterLocking or SimpleReadWriteLocking.
-
-
-
-
- A quick means of setting all the min/max values for the node counts using this value as a basis
- for the Maximum fields and one-quarter of this value for Minimum fields provided the result is in
- range.
-
-
-
-
- The smallest number of child nodes that should be linked to before refactoring the tree to remove
- this node. In a 'normal' and/or purest B+Tree this is always half of max; however for performance
- reasons this B+Tree allow any value equal to or less than half of max but at least 2.
-
- A number in the range of 2 to 128 that is at most half of MaximumChildNodes.
-
-
-
- The largest number of child nodes that should be linked to before refactoring the tree to split
- this node into two. This property has a side-effect on MinimumChildNodes to ensure that it continues
- to be at most half of MaximumChildNodes.
-
- A number in the range of 4 to 256.
-
-
-
- The smallest number of values that should be contained in this node before refactoring the tree to remove
- this node. In a 'normal' and/or purest B+Tree this is always half of max; however for performance
- reasons this B+Tree allow any value equal to or less than half of max but at least 2.
-
- A number in the range of 2 to 128 that is at most half of MaximumValueNodes.
-
-
-
- The largest number of values that should be contained in this node before refactoring the tree to split
- this node into two. This property has a side-effect on MinimumValueNodes to ensure that it continues
- to be at most half of MaximumValueNodes.
-
- A number in the range of 4 to 256.
-
-
-
- Determines how long loaded nodes stay in memory, Full keeps all loaded nodes alive and is the
- most efficient, The default Recent keeps recently visited nodes alive based on the CacheKeepAlive
- properties, and None does not cache the nodes at all but does maintain a cache of locks for
- each node visited.
-
-
-
-
- CacheKeepAliveFactory provides a delegate to inject an implementation of the IObjectKeepAlive
- interface while then igoring all the other CacheKeepAliveXXX properties.
-
-
-
-
- Determins minimum number of recently visited nodes to keep alive in memory. This number defines
- the history size, not the number of distinct nodes. This number will always be kept reguardless
- of the timeout. Specify a value of 0 to allow the timeout to empty the cache.
-
-
-
-
- Determins maximum number of recently visited nodes to keep alive in memory. This number defines
- the history size, not the number of distinct nodes. The ceiling is always respected reguardless
- of the timeout. Specify a value of 0 to disable history keep alive.
-
-
-
-
- If the cache contains more that CacheKeepAliveMinimumHistory items, this timeout will start to
- remove those items until the cache history is reduced to CacheKeepAliveMinimumHistory. It is
- important to know that the BPlusTree itself contains no theads and this timeout will not be
- respected if cache is not in use.
-
-
-
- The desired fill-size of node that contain children
-
-
- The desired fill-size of node that contain values
-
-
-
- Constructs the options configuration to initialize a BPlusTree instance using the default Comparer for TKey
-
-
-
-
- Constructs the options configuration to initialize a BPlusTree instance
-
-
-
-
- Creates a shallow clone of the configuration options.
-
-
-
-
- Calculates default node-thresholds based upon the average number of bytes in key and value
-
-
-
-
- Calculates default node-thresholds based upon the average number of bytes in key and value
-
-
-
- Used to create the correct storage type
-
-
-
- Defines a reader/writer lock that used to control exclusive tree access when needed.
- Version2 files using trasacation logs will use this to gain exclusive access to the tree
- during calls to Commit, Rollback, etc. The default is to use a SimpleReadWriteLocking
- class. If you are accessing the tree from a single thread, consider using the IgnoreLocking
- class for better performance.
-
-
-
-
- Returns the version this option set is compatible with.
-
-
-
-
- Returns the DurabilityProtection of the underlying storage to create.
-
-
-
-
- Gets or sets a filename to write binary log files to.
-
-
- This is just a short-hand way of setting the TransactionLog instance. For better performance
- at the risk of loosing a record or two, consider creating the TransactionLog instance with the
- FileOptions set to (FileOptions.WriteThrough | FileOptions.Asynchronous).
-
-
-
-
- Gets or sets an implementation of ITransactionLog<TKey, TValue> used to log writes to this
- tree for recovery and/or monitoring.
-
-
-
-
- Defines the action to perform when opening a BPlusTree with an existing log file.
-
-
-
-
- Defines the number of bytes in the transaction log file before the BPlusTree will auto-commit
- and truncate the log. Values equal to or less than zero will not auto-commit (default).
-
-
-
-
- Defines the options nessessary to construct a BPlusTree implementation
-
-
-
-
- Constructs the options configuration to initialize a BPlusTree instance using the default Comparer for TKey
-
-
-
-
- Constructs the options configuration to initialize a BPlusTree instance
-
-
-
-
- Creates a shallow clone of the configuration options.
-
-
-
-
- Calculates default node-threasholds based upon the average number of bytes in key and value
-
-
-
-
- Calculates default node-threasholds based upon the average number of bytes in key and value
-
-
-
- Used to create the correct storage type
-
-
-
- Gets or sets the number of bytes per file-block used in the file storage
-
-
-
-
- Gets or sets the number of blocks that a file will grow by when all blocks are used, use zero for incremental growth
-
-
-
-
- Gets or sets the number of streams that will be created for threads to write in the file store
-
-
-
-
- Returns the version this option set is compatable with.
-
-
-
- Provides base functionality of a node cache, not much exciting here
-
-
- performs a perfect cache of the entire tree
-
-
- performs a perfect cache of the entire tree
-
-
- For enumeration
-
-
-
- An interface to provide conditional removal of an item from a concurrent dictionary.
-
-
- Generally implemented as a struct and passed by ref to save stack space and to retrieve the values
- that where inserted or updated.
-
-
-
-
- Called when the dictionary is about to remove the key/value pair provided, return true to allow
- it's removal, or false to prevent it from being removed.
-
-
-
-
- An interface to provide conditional or custom creation or update logic to a concurrent dictionary.
-
-
- Generally implemented as a struct and passed by ref to save stack space and to retrieve the values
- that where inserted or updated.
-
-
-
-
- An interface to provide conditional or custom creation logic to a concurrent dictionary.
-
-
-
-
- Called when the key was not found within the dictionary to produce a new value that can be added.
- Return true to continue with the insertion, or false to prevent the key/value from being inserted.
-
-
-
-
- An interface to provide conditional or custom update logic to a concurrent dictionary.
-
-
-
-
- Called when the key was found within the dictionary to produce a modified value to update the item
- to. Return true to continue with the update, or false to prevent the key/value from being updated.
-
-
-
- Provides serialization for a type
-
-
- Writes the object to the stream
-
-
- Reads the object from a stream
-
-
-
- This is the default cache type, uses weakreferences and the GC to collect unused nodes after they exit
- the ObjectKeepAlive containment policy.
-
-
-
- Represents a persistance mechanic for node data
-
-
- Returns an immutable handle to the root node, sets isNew to true if no data exists
-
-
- Destroys the entire contents of the storage system except for the root handle which remains valid
-
-
- Retrieves a single node from storage
-
-
- Creates a node handle that will represent a new node instance
-
-
- Destroys the node that was formally stored by the specified handle
-
-
- Updates the node of the specified handle with the instance given
-
-
- An optional interface that allows storage provides to persist the record count
-
-
-
- Used to retrieve the current record count after opening a store, -1 indicates an invalid entry.
- Prior to Commit() the count will be set to the actual record count.
-
-
-
-
- Disposes of each element in the collection when the collection is disposed.
-
-
-
-
- Disposes of each element in the collection when the collection is disposed.
-
-
-
-
- Initializes a new instance of the System.Collections.Generic.List>T> class
- that is empty and has the default initial capacity.
-
-
-
-
- Initializes a new instance of the System.Collections.Generic.List>T> class
- that contains elements copied from the specified collection and has sufficient
- capacity to accommodate the number of elements copied.
-
-
-
-
- Initializes a new instance of the System.Collections.Generic.List>T> class
- that is empty and has the specified initial capacity.
-
-
-
-
- Disposes of each element in the collection when the collection is disposed.
-
-
-
-
- Initializes a new instance of the System.Collections.Generic.List>T> class
- that is empty and has the default initial capacity.
-
-
-
-
- Initializes a new instance of the System.Collections.Generic.List>T> class
- that contains elements copied from the specified collection and has sufficient
- capacity to accommodate the number of elements copied.
-
-
-
-
- Initializes a new instance of the System.Collections.Generic.List>T> class
- that is empty and has the specified initial capacity.
-
-
-
- Represents an immutable collection of unique items that can be manipulated as a set, intersect/union/etc.
-
-
-
- Provides a strongly typed shallow copy of the current object
-
-
-
-
- Returns a shallow clone of this object.
-
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Constructs a SetList
-
-
- Returns the zero-based index of the item or -1
-
-
- Returns true if the item is already in the collection
-
-
- Copy the collection to an array
-
-
- Returns this collection as an array
-
-
- Removes all items from the collection
-
-
- Returns a new collection adding the item provided
-
-
- Returns a new collection adding the item provided
-
-
- Adds a range of items to the collection
-
-
- Adds or replaces an item in the collection, returns true if an entry was replaced
-
-
- Adds or replaces an item in the collection, returns true if any item was replaced
-
-
- Not supported, the list is sorted.
-
-
- Returns a new collection with the item provided removed
-
-
- Removes an item by it's ordinal index in the collection
-
-
- Removes the items in this set that are not in the provided set
- { 1, 2, 3 }.RemoveAll({ 2, 3, 4 }) == { 1 }
-
-
- Returns the set of items that are in both this set and the provided set
- { 1, 2, 3 }.IntersectWith({ 2, 3, 4 }) == { 2, 3 }
-
-
- Returns the set of items that are in either this set or the provided set
- { 1, 2, 3 }.UnionWith({ 2, 3, 4 }) == { 1, 2, 3, 4 }
-
-
- Returns the items in the provided set that are not in this set
- { 1, 2, 3 }.ComplementOf({ 2, 3, 4 }) == { 4 }
-
-
- Returns the items in this set that are not in the provided set
- { 1, 2, 3 }.RemoveAll({ 2, 3, 4 }) == { 1 }
-
-
- Returns the items in this set that are not in the provided set
- { 1, 2, 3 }.ExclusiveOrWith({ 2, 3, 4 }) == { 1, 4 }
-
-
- Returns true if all items in this set are also in the provided set
- { 1, 2 }.IsEqualTo({ 1, 2 }) == true && {}.IsEqualTo({}) == true
-
-
- Returns true if all items in this set are also in the provided set
- { 1, 2, 4 }.IsSubsetOf({ 1, 2, 3, 4 }) == true && {}.IsSubsetOf({ 1 }) == true
-
-
- Returns true if all items in the provided set are also in this set
- { 1, 2, 3, 4 }.IsSupersetOf({ 1, 2, 4 }) == true && { 1 }.IsSupersetOf({}) == true
-
-
- Copies collection to array
-
-
- Returns an enumerator
-
-
- Returns a typed enumerator
-
-
- Returns a shallow clone of this object
-
-
- Provides an empty set
-
-
- Access an item by it's ordinal offset in the list
-
-
- Returns true if the list is read-only
-
-
- Returns the count of items in the list
-
-
- Returns false
-
-
- Returns SyncRoot
-
-
-
- Dictionary comparer for comparing arrays of bytes by value equality
-
-
-
- returns true if both arrays contain the exact same set of bytes.
-
-
- Compares the contents of the byte arrays and returns the result.
-
-
- Returns a hash code the instance of the object
-
-
- Compares the contents of the byte arrays and returns the result.
-
-
- Returns true if the two objects are the same instance
-
-
- Returns a hash code the instance of the object
-
-
- Defines the storage type to use
-
-
- Uses in-memory storage
-
-
- Uses a file to store data, (Set by setting the FileName property)
-
-
- Uses a custom data store, (Set by setting the StorageSystem property)
-
-
- Determines if the file specified should be created
-
-
- Does not create a new file
-
-
- Creates a new file even if one already exists
-
-
- Creates a new file only if it does not exist
-
-
- Determines the type of node caching used in the tree
-
-
- Does not cache, allways loads from storage.
-
-
- Keeps every loaded object in memory.
-
-
- Keeps a history of objects in memory (see CacheKeepAliveXXX properties)
-
-
-
- Defines the action to perform when opening a BPlusTree with an existing log file.
-
-
-
-
- Infers the default wether or not the data file was created. For newly created data
- files (CreatePolicy = Always, or IfNeeded and the file is missing) the default will
- be Truncate. When existing data files are opened the default will ReplayAndCommit.
-
-
-
- Ignore the existing entries in the log
-
-
- Replay the log entries uncommitted
-
-
- Replay the log entries and commit the changes to the store
-
-
- Ignore the existing entries and truncate the log
-
-
-
- Defines the levels of durability the store will try to achieve. 'Uncommitted changes' in the descriptions below
- refers to all changes made to the tree since the last call to CommitChanges() on the BPlusTree class.
-
-
-
- (100k rps) Uncommitted changes will be lost, a crash durring commit may corrupt state.
-
- No changes are committed until a call to Commit is made, durring the commit a partial write may corrupt the store.
-
-
-
- (30k rps) Uses a system-cached transaction log to recover uncommitted changes after a process crash.
- Will not corrupt state; however, in a power outage or system failure it may loose some comitted records.
-
-
- (8k rps) Every write will commit changes to the storage file immediately into system cache
- May corrupt state and/or loose data in the event of a power outage
-
-
- (2k rps) Uses a cache-writethrough transaction log to recover uncommitted changes after a power outage or system crash.
- Complies with ACID durability requirements, can be expensive to recover from the log.
-
-
- (1k rps) Every write will commit changes to the storage file immediately bypassing system cache (Slowest/Safest)
- Complies with ACID durability requirements
-
-
- Defaults to using a transaction log in system cache for best performance/durability.
-
-
- Determines the binary file format and backwards compatibility
-
-
- Version 1 compatable
-
-
- Version 2 compatable
-
-
-
- Implements an IDictionary interface for an in-memory B+Tree
-
-
-
- The default `order` of the B+Tree structure.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
-
- Removes all items from the .
-
- The Collection is read-only.
-
-
-
- Gets the value associated with the specified key.
-
-
- true if the object that implements contains an element with the specified key; otherwise, false.
-
-
-
-
- Adds an element with the provided key and value to the .
-
- The object to use as the key of the element to add.
- The object to use as the value of the element to add.
- An element with the same key already exists in the .
- The is read-only.
-
-
-
- Adds an item to the .
-
- The object to add to the .
- An element with the same key already exists in the .
- The is read-only.
-
-
-
- Adds a set of items to the .
-
- The items to add to the .
- An element with the same key already exists in the .
- The is read-only.
-
-
-
- Determines whether the contains an element with the specified key.
-
-
- true if the contains an element with the key; otherwise, false.
-
-
-
-
- Determines whether the contains a specific key and value pair.
-
- true if is found in the ; otherwise, false.
- The object to locate in the .
-
-
-
- Removes the element with the specified key from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The key of the element to remove.
- The is read-only.
-
-
-
- Removes the first occurrence of a specific object from the .
-
-
- true if was successfully removed from the ; otherwise, false.
- This method also returns false if is not found in the original .
-
- The object to remove from the .
- The is read-only.
-
-
-
- Copies the elements of the to an , starting at a particular index.
-
-
-
-
- Returns an enumerator that iterates through the collection.
-
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- The value to be added, if the key does not already exist.
- The is read-only.
-
-
-
- Adds an element with the provided key and value to the .
-
- The object to use as the key of the element to add.
- The object to use as the value of the element to add.
- The is read-only.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The is read-only.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The value that is compared to the value of the element with key.
- The is read-only.
-
-
-
- Removes the element with the specified key from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The key of the element to remove.
- The value that was removed.
- The is read-only.
-
-
-
- Returns all the items of this collection as an array of .
-
-
-
-
- Returns the first key and it's associated value.
-
-
-
-
- Returns the first key and it's associated value.
-
-
-
-
- Returns the last key and it's associated value.
-
-
-
-
- Returns the last key and it's associated value.
-
-
-
-
- Inclusivly enumerates from start key to the end of the collection
-
-
-
-
- Inclusivly enumerates from start key to stop key
-
-
-
-
- Returns a writable clone of this collection.
-
-
-
-
- Returns a read-only clone of this collection. If this instance is already read-only the method will return this.
-
-
-
-
- Ensures data integrity or raises exception
-
-
-
-
- Gets the number of elements contained in the .
-
-
-
-
- Gets a value indicating whether the is read-only.
-
-
-
-
- Gets the Comparer provided to the constructor or Comparer<TKey>.Default if it was not provided.
-
-
-
-
- Gets or sets the element with the specified key.
-
-
- The element with the specified key.
-
- The key of the element to get or set.
- The property is retrieved and is not found.
- The property is set and the is read-only.
-
-
-
- Gets an containing the keys of the .
-
-
-
-
- Gets an containing the values in the .
-
-
-
-
- Implements an IList interface for an in-memory B+Tree of unique values
-
-
-
- The default `order` of the B+Tree structure.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
- Constructs a BTreeList instance.
-
-
-
- Removes all items from the .
-
- The Collection is read-only.
-
-
-
- Adds an element with the provided value to the .
-
- The object to use as the value of the element to add.
- An element with the same value already exists in the .
- The is read-only.
-
-
-
- Adds a set of items to the .
-
- The items to add to the .
- An element with the same value already exists in the .
- The is read-only.
-
-
-
- Determines whether the contains a specific value pair.
-
- true if is found in the ; otherwise, false.
- The object to locate in the .
-
-
-
- Warning O(n) operation: This method works; however, it is not intended for use on sufficiently large lists.
- Determines the index of a specific item in the .
-
- The index of if found in the list; otherwise, -1.
- The object to locate in the .
-
-
-
- Warning O(n) operation: This method works; however, it is not intended for use on sufficiently large lists.
-
-
-
-
- Removes the element with the specified value from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The value of the element to remove.
- The is read-only.
-
-
-
- Copies the elements of the to an , starting at a particular index.
-
-
-
-
- Returns an enumerator that iterates through the collection.
-
-
-
-
- Adds an element with the provided value to the .
-
- The object to use as the value of the element to add.
- The is read-only.
-
-
-
- Returns all the items of this collection as an array of .
-
-
-
-
- Inclusivly enumerates from start value to the end of the collection
-
-
-
-
- Inclusivly enumerates from start value to stop value
-
-
-
-
- Returns a writable clone of this collection.
-
-
-
-
- Returns a read-only clone of this collection. If this instance is already read-only the method will return this.
-
-
-
-
- Gets the number of elements contained in the .
-
-
-
-
- Gets a value indicating whether the is read-only.
-
-
-
-
- Gets the Comparer provided to the constructor or Comparer<TKey>.Default if it was not provided.
-
-
-
-
- Warning O(n) operation: This method works; however, it is not intended for use on sufficiently large lists.
-
-
-
- Provides a delegate that performs an atomic update of a key/value pair
-
-
- Provides a delegate that performs a test on key/value pair
-
-
-
- Represents a key-value comparison
-
-
-
-
- Creates a key-value comparison using the default comparer for type TKey
-
-
-
-
- Creates a key-value comparison with the specified comparer
-
-
-
-
- Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.
-
-
-
-
- Represents a key-value comparison using the default comparer for type TKey
-
-
-
-
- Returns the comparer being used by this instance
-
-
-
-
- Defines if and how items added to a LurchTable are linked together, this defines
- the value returned from Peek/Dequeue as the oldest entry of the specified operation.
-
-
-
- No linking
-
-
- Linked in insertion order
-
-
- Linked by most recently inserted or updated
-
-
- Linked by most recently inserted, updated, or fetched
-
-
-
- LurchTable stands for "Least Used Recently Concurrent Hash Table" and has definate
- similarities to both the .NET 4 ConcurrentDictionary as well as Java's LinkedHashMap.
- This gives you a thread-safe dictionary/hashtable that stores element ordering by
- insertion, updates, or access. In addition it can be configured to use a 'hard-limit'
- count of items that will automatically 'pop' the oldest item in the collection.
-
- The type of keys in the dictionary.
- The type of values in the dictionary.
-
-
- Creates a LurchTable that can store up to (capacity) items efficiently.
-
-
- Creates a LurchTable that can store up to (capacity) items efficiently.
-
-
- Creates a LurchTable that can store up to (capacity) items efficiently.
-
-
- Creates a LurchTable that orders items by (ordering) and removes items once the specified (limit) is reached.
-
-
- Creates a LurchTable that orders items by (ordering) and removes items once the specified (limit) is reached.
-
-
-
- Creates a LurchTable that orders items by (ordering) and removes items once the specified (limit) is reached.
-
- The type of linking for the items
- The maximum allowable number of items, or int.MaxValue for unlimited
- The number of hash buckets to use for the collection, usually 1/2 estimated capacity
- The number of entries to allocate at a time, usually 1/16 estimated capacity
- The number of concurrency locks to preallocate, usually 1/256 estimated capacity
- The element hash generator for keys
-
-
-
- Clears references to all objects and invalidates the collection
-
-
-
-
- WARNING: not thread-safe, reinitializes all internal structures. Use Clear() for a thread-safe
- delete all. If you have externally provided exclusive access this method may be used to more
- efficiently clear the collection.
-
-
-
-
- Removes all items from the .
-
-
-
-
- Determines whether the contains an element with the specified key.
-
-
-
-
- Gets the value associated with the specified key.
-
-
- true if the object that implements contains an element with the specified key; otherwise, false.
-
-
-
-
- Adds an element with the provided key and value to the .
-
-
-
-
- Removes the element with the specified key from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The key of the element to remove.
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- The value to be added, if the key does not already exist.
-
-
-
- Adds an element with the provided key and value to the .
-
- The object to use as the key of the element to add.
- The object to use as the value of the element to add.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
-
-
-
- Updates an element with the provided key to the value if it exists.
-
- Returns true if the key provided was found and updated to the value.
- The object to use as the key of the element to update.
- The new value for the key if found.
- The value that is compared to the value of the element with key.
-
-
-
- Removes the element with the specified key from the .
-
-
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original .
-
- The key of the element to remove.
- The value that was removed.
-
-
-
- Adds a key/value pair to the if the key does not already exist.
-
- The key of the element to add.
- Constructs a new value for the key.
-
-
-
- Adds a key/value pair to the if the key does not already exist,
- or updates a key/value pair if the key already exists.
-
-
-
-
- Adds a key/value pair to the if the key does not already exist,
- or updates a key/value pair if the key already exists.
-
-
- Adds or modifies an element with the provided key and value. If the key does not exist in the collection,
- the factory method fnCreate will be called to produce the new value, if the key exists, the converter method
- fnUpdate will be called to create an updated value.
-
-
-
-
- Add, update, or fetche a key/value pair from the dictionary via an implementation of the
- interface.
-
-
-
-
- Adds an element with the provided key and value to the
- by calling the provided factory method to construct the value if the key is not already present in the collection.
-
-
-
-
- Modify the value associated with the result of the provided update method
- as an atomic operation, Allows for reading/writing a single record within
- the syncronization lock.
-
-
-
-
- Removes the element with the specified key from the
- if the fnCondition predicate is null or returns true.
-
-
-
-
- Conditionally removes a key/value pair from the dictionary via an implementation of the
- interface.
-
-
-
-
- Returns an enumerator that iterates through the collection.
-
-
-
-
- Retrieves the oldest entry in the collection based on the ordering supplied to the constructor.
-
- True if the out parameter value was set.
- Raised if the table is unordered
-
-
-
- Removes the oldest entry in the collection based on the ordering supplied to the constructor.
- If an item is not available a busy-wait loop is used to wait for for an item.
-
- The Key/Value pair removed.
- Raised if the table is unordered
-
-
-
- Removes the oldest entry in the collection based on the ordering supplied to the constructor.
-
- False if no item was available
- Raised if the table is unordered
-
-
-
- Removes the oldest entry in the collection based on the ordering supplied to the constructor.
-
- False if no item was available
- Raised if the table is unordered
-
-
- Event raised after an item is removed from the collection
-
-
- Event raised after an item is updated in the collection
-
-
- Event raised after an item is added to the collection
-
-
-
- Gets the number of elements contained in the .
-
-
-
-
- Retrieves the LurchTableOrder Ordering enumeration this instance was created with.
-
-
-
-
- Retrives the key comparer being used by this instance.
-
-
-
-
- Retrives the record limit allowed in this instance.
-
-
-
-
- Gets or sets the element with the specified key.
-
-
-
-
- Gets an containing the keys of the .
-
-
-
-
- Gets an containing the values in the .
-
-
-
- Method signature for the ItemUpdated event
-
-
-
- Provides an enumerator that iterates through the collection.
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Advances the enumerator to the next element of the collection.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
-
-
- Gets the element in the collection at the current position of the enumerator.
-
-
-
-
- Provides the collection of Keys for the LurchTable
-
-
-
-
- Determines whether the contains a specific value.
-
-
-
-
- Copies the elements of the to an , starting at a particular index.
-
-
-
-
- Returns an enumerator that iterates through the collection.
-
-
-
-
- Gets the number of elements contained in the .
-
-
-
-
- Provides an enumerator that iterates through the collection.
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Advances the enumerator to the next element of the collection.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
-
-
- Gets the element in the collection at the current position of the enumerator.
-
-
-
-
- Provides the collection of Values for the LurchTable
-
-
-
-
- Determines whether the contains a specific value.
-
-
-
-
- Copies the elements of the to an , starting at a particular index.
-
-
-
-
- Returns an enumerator that iterates through the collection.
-
-
-
-
- Gets the number of elements contained in the .
-
-
-
-
- Provides an enumerator that iterates through the collection.
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Advances the enumerator to the next element of the collection.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
-
-
- Gets the element in the collection at the current position of the enumerator.
-
-
-
-
- Provides a stable array sort based on merge-sort using O(n) additional memory. As a release build,
- this routine will operate faster than Array.Sort when using a custom (non-default) comparison. It
- also has the advantange of being stable, that is it preserves the order of elements that compare as
- being of equal value.
-
-
-
- Sorts the contents of the array using a stable merge-sort with O(n) additional memory
-
-
- Sorts the contents of the array using a stable merge-sort with O(n) additional memory
- This overload also yields the working copy of the array which is unsorted.
-
-
- Sorts the contents of the array using a stable merge-sort with O(n) additional memory
-
-
- Sorts the contents of the array using a stable merge-sort with O(n) additional memory
-
-
- Sorts the contents of the array using a stable merge-sort with O(n) additional memory
-
-
- Sorts the contents of the array using a stable merge-sort with O(n) additional memory
-
-
-
- Options for bulk insertion
-
-
-
- Constructs with defaults: false/RaisesException
-
-
- Gets or sets a value that controls input presorting
-
-
- Gets or sets the handling for duplicate key collisions
-
-
- When true (default) BulkInsert will call CommitChanges() on successfull completion
-
-
- When false merges the data with the existing contents, set to true to replace all content
-
-
- Defines how duplicate keys are handled
-
-
- Do nothing and pass-through all duplicates
-
-
- Remove all but the first item of duplicates
-
-
- Remove all but the last item of duplicates
-
-
- Throw an error on duplicates
-
-
-
- Creates an ordered enumeration from an unordered enumeration by paginating the data, sorting the page,
- and then performing a binary-tree grouped mergesort on the resulting pages. When the page size (memoryLimit)
- is hit, the page will be unloaded to disk and restored on demand if a serializer is provided.
-
-
-
- Constructs an ordered enumeration from an unordered enumeration
-
-
- Constructs an ordered enumeration from an unordered enumeration
-
-
- Constructs an ordered enumeration from an unordered enumeration
-
-
- Constructs an ordered enumeration from an unordered enumeration
-
-
-
- Returns an enumerator that iterates through the collection.
-
- GetEnumerator() may only be called once.
- Enumeration is out of sequence.
- Duplicate item in enumeration.
-
-
-
- Merges two ordered enumerations based on the comparer provided.
-
-
-
-
- Merges n-number of ordered enumerations based on the default comparer of T.
-
-
-
-
- Merges n-number of ordered enumerations based on the comparer provided.
-
-
-
-
- Merges n-number of ordered enumerations based on the comparer provided.
-
-
-
-
- Wraps an existing enumeration of Key/value pairs with an assertion about ascending order and handling
- for duplicate keys.
-
-
-
-
- Gets or sets the comparer to use when ordering the items.
-
-
-
-
- Gets or sets the serializer to use when paging to disk.
-
-
-
-
- Gets or sets the number of instances to keep in memory before sorting/paging to disk.
-
- You must specify the Serializer before setting this property
-
-
- Gets or sets the duplicate item handling policy
-
-
-
- Speicalizes the OrderedEnumeration of T to use key/value pairs with a key comparer.
-
-
-
- Constructs an ordered set of KeyValuePair structs
-
-
- Constructs an ordered set of KeyValuePair structs
-
-
- Constructs an ordered set of KeyValuePair structs
-
-
- Constructs an ordered set of KeyValuePair structs
-
-
- Constructs an ordered set of KeyValuePair structs
-
-
- Constructs an ordered set of KeyValuePair structs
-
-
-
- Merges n-number of ordered enumerations based on the comparer provided.
-
-
-
-
- Merges n-number of ordered enumerations based on the comparer provided.
-
-
-
-
- An ordinal list is a list optimized to store lists of integer data that can then be manipulated
- as a set with intersect/union etc. Each integer stored is translated to a bit offset and thus
- cann't be stored more than once or in any particular order. Note: adding the value int.Max will
- allocate int.Max/8 bytes of memory, so this is best used with ordinal indexes into a list that
- is smaller than 8,388,608 (one megabyte of bits). Pre-allocate with Ceiling = max for better
- performance, or add the integers in reverse order (highest to lowest).
-
-
-
- Constructs an empty OrdinalList
-
-
- Constructs an OrdinalList from a set of bits represeting the ordinals
-
-
- Constructs an OrdinalList from the integer ordinals provided
-
-
- Empty the OrdinalList
-
-
- Adds a range of integer ordinals into the collection
-
-
- Adds an integer ordinal into the collection
-
-
- Removes an ordinal from the collection
-
-
- Returns true if the ordinal is in the collection
-
-
- Extracts the ordinals into an array
-
-
- Returns the array of ordinals that have been added.
-
-
- Returns the complete set of raw bytes for storage and reconstitution
-
-
- Returns the 1's compliment (inverts) of the list up to Ceiling
-
-
- Returns the set of items that are in both this set and the provided set
- { 1, 2, 3 }.IntersectWith({ 2, 3, 4 }) == { 2, 3 }
-
-
- Returns the set of items that are in either this set or the provided set
- { 1, 2, 3 }.UnionWith({ 2, 3, 4 }) == { 1, 2, 3, 4 }
-
-
- Returns an enumeration of the ordinal values
-
-
- Returns an enumeration of the ordinal values
-
-
- Returns an enumeration of the ordinal values
-
-
-
- Creates a new object that is a copy of the current instance.
-
-
-
- Semi-expensive, returns the count of ordinals in the collection
-
-
-
- Gets or sets the maximum inclusive ordinal that can be stored in the memory currently
- allocated, ranges from -1 to int.MaxValue
-
-
-
- Returns false
-
-
-
- A value representing the state/identifer/object of a single transaction. The field's
- meaning is defined by the ITrasactionLog implementation and is otherwise treated as an
- opaque token identifier of the transaction.
-
-
-
- Undefined
-
-
- Undefined
-
-
- Undefined
-
-
-
- Options used to initialize a TransactionLog
-
-
-
-
- Options used to initialize a TransactionLog
-
-
-
- Creates a shallow clone of the instance
-
-
- The serializer for the TKey type
-
-
- The serializer for the TValue type
-
-
- The file name to read/write the log
-
-
- The file open options for appending to a log, default = WriteThrough
-
-
- The file buffer size, CAUTION: values above 16 bytes may leave data in memory
-
-
- Gets or sets if the transaction log is treated as read-only
-
-
-
- Represents a transaction log of writes to a dictionary.
-
-
-
-
- Replay the entire log file to the provided dictionary interface
-
-
-
-
- Replay the log file from the position provided and output the new log position
-
-
-
-
- Merges the contents of the log with an existing ordered key/value pair collection.
-
-
-
-
- Truncate the log and remove all existing entries
-
-
-
-
- Notifies the log that a transaction is begining and create a token for this
- transaction scope.
-
-
-
- The provided key/value pair was added in the provided transaction
-
-
- The provided key/value pair was updated in the provided transaction
-
-
- The provided key/value pair was removed in the provided transaction
-
-
-
- Commits the provided transaction
-
-
-
-
- Abandons the provided transaction
-
-
-
-
- Returns the filename being currently used for transaction logging
-
-
-
-
- Returns the current size of the log file in bytes
-
-
-
-
- The default transaction log for a BPlusTree instance to provide backup+log recovery
-
-
-
-
- Creates an instance of a transaction log
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Flushes any pending writes and closes the writer.
-
-
-
-
- Replay the entire log file to the provided dictionary interface
-
-
-
-
- Replay the log file from the position provided and output the new log position
-
-
-
-
- Merges the contents of the log with an existing ordered key/value pair collection.
-
-
-
-
- Replay the log file from the position provided and output the new log position
-
-
-
-
- Truncate the log and remove all existing entries
-
-
-
-
- Notifies the log that a transaction is begining and create a token for this
- transaction scope.
-
-
-
- The provided key/value pair was added in the provided transaction
-
-
- The provided key/value pair was updated in the provided transaction
-
-
- The provided key/value pair was removed in the provided transaction
-
-
-
- Commits the provided transaction
-
-
-
-
- Abandons the provided transaction
-
-
-
-
- Returns the file name of the current transaction log file
-
-
-
-
- Returns the current size of the log file in bytes
-
-
-
- The base class for BPlutTree runtime assertions
-
-
- The base class for BPlutTree runtime assertions
-
-
- The base class for BPlutTree runtime assertions
-
-
- The base class for BPlutTree runtime assertions
-
-
-
- Exception class: AssertionFailedException
- A runtime assertion failed while performing the operation.
-
-
-
-
- if(condition == false) throws A runtime assertion failed: {0}
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- A runtime assertion failed while performing the operation.
-
-
-
-
- A runtime assertion failed while performing the operation.
-
-
-
-
- if(condition == false) throws A runtime assertion failed while performing the operation.
-
-
-
-
- A runtime assertion failed: {0}
-
-
-
-
- A runtime assertion failed: {0}
-
-
-
-
- if(condition == false) throws A runtime assertion failed: {0}
-
-
-
- Identifies a class as a reference to a node instance
-
-
-
- A static singleton and factory that uses a globally common instance.
-
-
-
-
- Returns the singleton instance of T
-
-
-
-
- Returns a factory that returns the singleton instance
-
-
-
- Generic factory for instances of type T
-
-
- Creates an instance of an object assignable to type T
-
-
-
- A factory that creates a new instance of an object each time Create() is called.
-
-
-
- Returns a new instance of T
-
-
-
- A delegate that takes no arguemnts and returns a single value
-
-
-
-
- A factory that creates a new instance of an object each time Create() is called.
-
-
-
- A factory that delegates instance creation
-
-
- Returns an instance of T
-
-
-
- A factory that always returns the same instance of an object each time Create() is called.
-
-
-
- Provide the instance of T
-
-
- Returns the instance of T given to the constructor
-
-
-
- Provides a base-class that aggregates another stream object
-
-
-
- Creates the wrapper without an underlying stream
-
-
- Creates the wrapper with the underlying stream
-
-
- Disposes of this.Stream
-
-
- Disposes of this.Stream
-
-
-
- When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device.
-
-
-
-
- When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
-
-
-
-
- Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.
-
-
-
-
- When overridden in a derived class, sets the position within the current stream.
-
-
-
-
- When overridden in a derived class, sets the length of the current stream.
-
-
-
-
- When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
-
-
-
-
- Writes a byte to the current position in the stream and advances the position within the stream by one byte.
-
-
-
- Allows modifying the underlying stream
-
-
-
- When overridden in a derived class, gets a value indicating whether the current stream supports reading.
-
-
-
-
- When overridden in a derived class, gets a value indicating whether the current stream supports seeking.
-
-
-
-
- When overridden in a derived class, gets a value indicating whether the current stream supports writing.
-
-
-
-
- When overridden in a derived class, gets the length in bytes of the stream.
-
-
-
-
- When overridden in a derived class, gets or sets the position within the current stream.
-
-
-
- Provides a simple CRC32 checksum for a set of bytes
-
-
- Resumes the computation of a CRC32 value
-
-
- Initailizes the Crc32 value to the checksum of the string as a series of 16-bit values
-
-
- Initailizes the Crc32 value to the checksum of the bytes provided
-
-
- Returns the computed CRC32 value as a Hex string
-
-
- Adds a byte to the checksum
-
-
- Adds a byte to the checksum
-
-
- Adds an entire array of bytes to the checksum
-
-
- Adds a range from an array of bytes to the checksum
-
-
- Adds an entire array of bytes to the checksum
-
-
- Adds a string to the checksum as a series of 16-bit values (big endian)
-
-
- Adds a string to the checksum as a series of 16-bit values
-
-
- Extracts the correct hash code
-
-
- Returns true if the other object is equal to this one
-
-
- Returns true if the other object is equal to this one
-
-
- Returns true if the CRC32 provided is equal to this one
-
-
- Compares the two objects for equality
-
-
- Compares the two objects for equality
-
-
- Compares the two objects for equality
-
-
- Compares the two objects for equality
-
-
- Returns the computed CRC32 value
-
-
-
- Provides a default implementation of an IFactory for creating streams on a single file.
-
-
-
- Creates an IFactory for creating streams on a single file
-
-
- Creates an IFactory for creating streams on a single file
-
-
- Creates an IFactory for creating streams on a single file
-
-
- Creates an IFactory for creating streams on a single file
-
-
- Creates an IFactory for creating streams on a single file
-
-
-
- Creates the file stream
-
-
-
- The FileName that this factory produces streams for
-
-
-
- Provides a means of storing multitudes of small files inside one big one. I doubt this is a
- good name for it, but it works. Anyway, the file is broken into fixed size blocks and each
- block can be chained to another to allow the sub-allocation to grow larger than the block size.
- This is the primary storage vehicle for the BPlusTree implementation.
-
-
-
- Common operational values for 'normal' files
-
-
- Common operational values for using OS cache write-through (SLOW)
-
-
- Uses FILE_FLAG_NO_BUFFERING see http://msdn.microsoft.com/en-us/library/cc644950(v=vs.85).aspx (SLOWEST)
-
-
-
- Opens an existing fragmented file store, to create a new one call the CreateNew() static
-
- The file name that will store the data
- The block size that was specified when CreateNew() was called
-
-
-
- Opens an existing fragmented file store, to create a new one call the CreateNew() static
-
- The file name that will store the data
- The block size that was specified when CreateNew() was called
- The number of blocks to grow the file by when needed, or zero for on-demand
- The number of threads that can simultaneously access the file
- The file options to use when opening the file
-
-
-
- Opens an existing fragmented file store, to create a new one call the CreateNew() static
-
- The file name that will store the data
- The block size on disk to be used for allocations
- The number of blocks to grow the file by when needed, or zero for on-demand
- The number of threads that can simultaneously access the file
- The file access requested
- The file share permissions
- The file options to use when opening the file
-
-
-
- Opens an existing fragmented file store, to create a new one call the CreateNew() static
-
- An IFactory that produces streams for a storage
- The block size to be used for allocations
- The number of blocks to grow the file by when needed, or zero for on-demand
- The number of threads that can simultaneously access the file
-
-
- Internal use to specify aligned IO when using NoBuffering file option
-
-
-
- Closes the storage, a must-do to save a costly recomputation of free block on open
-
-
-
-
- Creates a new file (or truncates an existing one) that stores multiple smaller files
-
-
-
-
- Creates a new file (or truncates an existing one) that stores multiple smaller files
-
-
-
-
- Creates a new file (or truncates an existing one) that stores multiple smaller files
-
-
-
-
- Creates a new file (or truncates an existing one) that stores multiple smaller files
-
-
-
- Destroys all contents of the file and resets to an initial state
-
-
- Creates a new allocation block within the file
- A unique integer id for the block to be used with Open/Delete
-
-
- Creates a new allocation block within the file
- A unique integer id for the block to be used with Open/Delete
- The stream to write to the newly created block
-
-
-
- Opens the file with the identity previously obtained by Create() using the
- access provided; however, Read+Write is not supported, use either Read or
- Write but not both.
-
-
-
-
- Deletes the contents written to the identity provided and returns the
- identity to the available pool.
-
-
-
- Used for enumeration of the storage blocks in the file.
- Allows enumeration of all stream, or of just the externally allocated streams
- Determines if the checksum should be verified while reading the block bytes
- A method that returns true to ignore the exception and continue processing
- Enumeration of the identity and data stream of each block in the file
-
-
- Returns the 'first' block identity that can be allocated
-
-
-
- A collection of Stream helpers
-
-
-
- Reads all of the bytes from the input stream, input stream will be disposed
-
-
- Reads all of the bytes from the input stream, input stream will be disposed
-
-
- Reads a the number of bytes specified or throws IOException
-
-
- Reads a the number of bytes specified or throws IOException
-
-
- Reads a the number of bytes specified or throws IOException
-
-
- Attempts to read the number of bytes specified and returns the actual count
-
-
- Attempts to read the number of bytes specified and returns the actual count
-
-
- Copy the entire input stream to the provided output stream, input stream will be disposed
- The number of bytes copied
-
-
- Copy the specified number of bytes from the input stream to the provided output stream
- The number of bytes copied
-
-
-
- Provides a simple means of caching several streams on a single file and for a thread
- to quickly exclusive access to one of those streams. This class provides the base
- implementation used by FileStreamCache and FragmentedFile.
-
-
-
-
- Constructs the stream cache allowing one stream per thread
-
-
-
-
- Constructs the stream cache with the maximum allowed stream items
-
-
-
-
-
-
-
- Waits for a stream to become available and returns a wrapper on that stream. Just dispose like
- any other stream to return the resource to the stream pool.
-
-
-
-
- Waits for a stream to become available and returns a wrapper on that stream. Just dispose like
- any other stream to return the resource to the stream pool.
-
-
-
-
- Provides a class for managing a temporary file and making reasonable a attempt to remove it upon disposal.
-
-
-
-
- Attaches a new instances of a TempFile to the provided file path
-
-
-
-
- Creates a temp file having the provided extension
-
-
-
-
- Creates a temp file having the provided extension
-
-
-
-
- Creates a temp file having a copy of the specified file
-
-
-
-
- Safely delete the provided file name
-
-
-
-
- Constructs a new temp file with a newly created/empty file.
-
-
-
-
- Manage the provided file path
-
-
-
-
- Removes the file if Dispose() is not called
-
-
-
- Disposes of the temporary file
-
-
-
- Disposes of the temporary file
-
-
-
-
- Detatches this instance from the temporary file and returns the temp file's path
-
-
-
- Reads all bytes from the file
-
-
- Writes all bytes to the file
-
-
- Reads all UTF8 text from the file
-
-
- Writes all UTF8 text to the file
-
-
-
- Deletes the current temp file immediatly if it exists.
-
-
-
-
- Re-Creates and Opens the temporary file for writing, multiple calls will truncate existing data.
-
-
-
-
- Open or Create the temporary file for reading and writing
-
-
-
-
- Opens the temporary file for reading
-
-
-
-
- Opens the temporary file for reading
-
-
-
-
- Copies the file content to the specified target file name
-
-
-
-
- Copies the file content to the specified target file name
-
-
-
-
- Returns the temporary file path being managed.
-
-
-
-
- Returns true if the current temp file exists.
-
-
-
-
- Gets or sets the current length of the temp file. If setting the length on a file that
- does not exist one will be created. If getting the length of a file that doesnt exist
- zero will be returned.
-
-
-
-
- Returns the FileInfo object for this temp file.
-
-
-
-
- Similar behavior to the FragmentedFile; however, a much improved implementation. Allows for
- file-level commit/rollback or write-by-write commits to disk. By default provides data-protection
- against process-crashes but not OS crashes. Use FileOptions.WriteThrough to protect against
- OS crashes and power outtages.
-
-
-
-
- Creates or opens a TransactedCompoundFile using the filename specified.
-
-
-
-
- Creates or opens a TransactedCompoundFile using the filename specified.
-
-
-
-
- Closes all streams and clears all in-memory data.
-
-
-
-
- Flushes any pending writes to the disk and returns.
-
-
-
-
- For file-level transactions, performs a two-stage commit of all changed handles.
-
-
-
-
- For file-level transactions, performs a two-stage commit of all changed handles.
- After the first stage has completed, the stageCommit() delegate is invoked.
-
-
-
-
-
-
-
- For file-level transactions, Reloads the file from it's original (or last committed) state.
-
- When CommitOnWrite is true, there is no going back.
-
-
-
- Allocates a handle for data, you MUST call Write to commit the handle, otherwise the handle
- may be reallocated after closing and re-opening this file. If you do not intend to commit
- the handle by writing to it, you should still call Delete() so that it may be reused.
-
-
-
-
- Writes the bytes provided to the handle that was previously obtained by a call to Create().
- The length must not be more than ((16*BlockSize)-32) bytes in length. The exact header size
- (32 bytes) may change without notice in a future release.
-
-
-
-
- Reads all bytes from the from the handle specified
-
-
-
-
- Deletes the handle and frees the associated block space for reuse.
-
-
-
-
- Immediatly truncates the file to zero-length and re-initializes an empty file
-
-
-
-
- Returns the first block that *would* be allocated by a call to Create() on an empty file.
-
-
-
-
- Advanced Options used to construct a TransactedCompoundFile
-
-
-
-
- Constructs an Options instance
-
- The file name to use
-
-
-
- Returns a copy of the options currently specified.
-
-
-
-
- Retrieves the file name that was provided to the constructor
-
-
-
-
- Defines the block-size used for storing data. Data storred in a given handle must be less than ((16*BlockSize)-8)
-
-
-
-
- Returns the maximum number of bytes that can be written to a single handle base on the current BlockSize setting.
-
-
-
-
- The FileOptions used for writing to the file
-
-
-
-
- Gets or sets a flag that controls if the file is opened in read-only mode. For ReadOnly
- files, another writer may exist; however, changes to the file will not be reflected until
- reload.
-
-
-
-
- True to create a new file, false to use the existing file. If this value is false and the
- file does not exist an exception will be raised.
-
-
-
-
- When true every write will rewrite the modified handle(s) back to disk, otherwise the
- handle state is kept in memory until a call to commit has been made.
-
-
-
-
- Automatically Commit the storage file when it's disposed.
-
-
-
-
- See comments on the LoadingRule enumerated type and Commit(Action,T)
-
-
-
-
- Defines the loading rule to apply when using a transacted file that was interrupted
- durring the commit process.
-
-
-
-
- Load all from Primary if valid, else load all from Secondary. If both fail,
- load either Primary or Secondary for each segment. This is the normal option,
- use the other options only when recovering from a commit that was incomplete.
-
-
-
-
- If you previously called Commit(Action,T) on a prior instance and the Action
- delegate *was* called, then setting this value will ensure that only the
- primary state storage is loaded, thereby ensuring you load the 'previous'
- state.
-
-
-
-
- If you previously called Commit(Action,T) on a prior instance and the Action
- delegate was *not* called, then setting this value will ensure that only the
- secondary state storage is loaded, thereby ensuring you load the 'previous'
- state.
-
-
-
-
- A strongly-typed resource class, for looking up localized strings, etc.
-
-
-
-
- The singleton for type {0} threw an excpetion.
-
-
-
-
- Invalid file extension: '{0}'.
-
-
-
-
- The type {0} is not convertable from a string.
-
-
-
-
- Returns the cached ResourceManager instance used by this class.
-
-
-
-
- Overrides the current thread's CurrentUICulture property for all
- resource lookups using this strongly typed resource class.
-
-
-
-
- Looks up a localized string similar to Failed to compress/decompress the full input stream..
-
-
-
-
- Looks up a localized string similar to Failed to read from input stream..
-
-
-
-
- Looks up a localized string similar to The running process must first exit..
-
-
-
-
- Returns the raw format strings.
-
-
-
-
- The singleton for type {0} threw an excpetion.
-
-
-
-
- Invalid file extension: '{0}'.
-
-
-
-
- The type {0} is not convertable from a string.
-
-
-
-
- Returns the raw exception strings.
-
-
-
-
- Formats a message for an exception
-
-
-
-
-
-
-
-
- A runtime assertion failed while performing the operation.
-
-
-
-
- A runtime assertion failed: {0}
-
-
-
-
- A lock timeout has expired due to a possible deadlock.
-
-
-
-
- Debug Assertion Failed: {0}
-
-
-
-
- The specified key already exists in the collection.
-
-
-
-
- The configuration value '{0}' is invalid.
-
-
-
-
- The configuration value '{0}' is invalid.
- {1}
-
-
-
-
- A storage handle was invalid or has been corrupted.
-
-
-
-
- The LurchTable internal datastructure appears to be corrupted.
-
-
-
-
- Exception class: DeadlockException
- A lock timeout has expired due to a possible deadlock.
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- A lock timeout has expired due to a possible deadlock.
-
-
-
-
- A lock timeout has expired due to a possible deadlock.
-
-
-
-
- if(condition == false) throws A lock timeout has expired due to a possible deadlock.
-
-
-
-
- Exception class: DebugAssertionFailedException
- Debug Assertion Failed: {0}
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- Debug Assertion Failed: {0}
-
-
-
-
- Debug Assertion Failed: {0}
-
-
-
-
- if(condition == false) throws Debug Assertion Failed: {0}
-
-
-
-
- Exception class: DuplicateKeyException
- The specified key already exists in the collection.
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- The specified key already exists in the collection.
-
-
-
-
- The specified key already exists in the collection.
-
-
-
-
- if(condition == false) throws The specified key already exists in the collection.
-
-
-
-
- Exception class: InvalidConfigurationValueException
- The configuration value '{0}' is invalid.
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- The configuration value '{0}' is invalid.
-
-
-
-
- The configuration value '{0}' is invalid.
-
-
-
-
- if(condition == false) throws The configuration value '{0}' is invalid.
-
-
-
-
- The configuration value '{0}' is invalid.
- {1}
-
-
-
-
- The configuration value '{0}' is invalid.
- {1}
-
-
-
-
- if(condition == false) throws The configuration value '{0}' is invalid.
- {1}
-
-
-
-
- Exception class: InvalidNodeHandleException
- A storage handle was invalid or has been corrupted.
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- A storage handle was invalid or has been corrupted.
-
-
-
-
- A storage handle was invalid or has been corrupted.
-
-
-
-
- if(condition == false) throws A storage handle was invalid or has been corrupted.
-
-
-
-
- Exception class: LurchTableCorruptionException
- The LurchTable internal datastructure appears to be corrupted.
-
-
-
-
- Serialization constructor
-
-
-
-
- Used to create this exception from an hresult and message bypassing the message formatting
-
-
-
-
- Constructs the exception from an hresult and message bypassing the message formatting
-
-
-
-
- The LurchTable internal datastructure appears to be corrupted.
-
-
-
-
- The LurchTable internal datastructure appears to be corrupted.
-
-
-
-
- if(condition == false) throws The LurchTable internal datastructure appears to be corrupted.
-
-
-
-
- Returns all bytes in the stream, or writes all bytes to the stream
-
-
-
- Gets a singleton of the BytesSerializer class
-
-
-
- Implements ISerializer of KeyValuePair<TKey, TValue>
-
-
-
-
- Provide the key/value serializers to use.
-
-
-
- Writes the object to the stream
-
-
- Reads the object from a stream
-
-
-
- Reads the same variant prefixed string and byte[] but with a hard-limit on size
-
-
-
-
- Constructs a limited length-prefix data reader/writer
-
-
-
- Reads up to 1024 length-prefixed byte array
-
-
- Reads up to 2048 length-prefixed byte array
-
-
- Reads up to 4092 length-prefixed byte array
-
-
- Reads up to 8196 length-prefixed byte array
-
-
- Reads up to 256 length-prefixed string
-
-
- Reads up to 512 length-prefixed string
-
-
- Reads up to 1024 length-prefixed string
-
-
- This is the only class with read/write prefixed data
-
-
-
- Provides simple implementations of ISerializer<T> for the primitive .Net types.
-
-
-
- Gets a singleton of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
- Gets a typed version of the PrimitiveSerializer
-
-
-
- Provides numeric serializers for packed int/long values.
-
-
-
- Gets a singleton of the VariantNumberSerializer
-
-
- Gets a typed version of the VariantNumberSerializer
-
-
- Gets a typed version of the VariantNumberSerializer
-
-
- Gets a typed version of the VariantNumberSerializer
-
-
- Gets a typed version of the VariantNumberSerializer
-
-
- Writes the object to the stream
-
-
- Reads the object from a stream
-
-
-
- Provides a file-based storage for the BPlusTree dictionary
-
-
-
-
- Opens an existing BPlusTree file at the path specified, for a new file use CreateNew()
-
-
-
-
- Closes the file in it's current state.
-
-
-
-
- Provides a file-based storage for the BPlusTree dictionary
-
-
-
-
- Opens an existing BPlusTree file at the path specified, for a new file use CreateNew()
-
-
-
-
- Closes the file in it's current state.
-
-
-
-
- Creates an empty file store in the path specified
-
-
-
-
- Provides an in-memory implementation of the storage services for BPlusTree, useful when testing :)
-
-
-
- Default in-memory storage
-
-
-
- wraps the reader/writer lock around Monitor
-
-
-
-
- An interface that allows reader/writer locking with the using() statement
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a read lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a writer lock
-
-
-
-
- The the current writer sequence number
-
-
-
- The writer version
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a read lock
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a writer lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Changes every time a write lock is aquired. If WriteVersion == 0, no write locks have been issued.
-
-
- Singleton instance of ignore locking
-
-
- A factory that produces instances of ILockStrategy to aquire/release read/write locks
-
-
- Returns the IgnoreLocking.Instance singleton
-
-
-
- wraps the reader/writer lock around Monitor
-
-
-
- Singleton instance of ignore locking
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a read lock
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a writer lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns Zero.
-
-
- A generic implementation that constructs a lock by type
-
-
- Returns a new lock of type T
-
-
-
- wraps the System.Threading.ReaderWriterLock lock, does not support read->write upgrades
-
-
-
-
- wraps the reader/writer lock
-
-
-
-
- wraps the reader/writer lock
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a read lock
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a writer lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Changes every time a write lock is aquired. If WriteVersion == 0, no write locks have been issued.
-
-
-
- Allows a read lock to be disposed or elevated to a write lock
-
-
-
- Acquires the lock within the timeout or throws TimeoutException
-
-
-
- Tracks an existing read lock on a resource
-
-
- Acquires a read lock on the resource
-
-
- Unlocks the resource
-
-
-
- Returns true if read access is locked
-
-
-
-
- Used to acquire a lock(object) with a timeout, either specified or the default of 2 minutes.
-
-
-
-
- The default timeout value used when one is not provided to the constructor
-
-
-
-
- Acquires the monitor lock on the object within 2 minutes, or throws TimeoutException
-
-
-
-
- Acquires the monitor lock on the object within timeoutMilliseconds, or throws TimeoutException
-
-
-
- Releases the lock acquired by the constructor
-
-
-
- Exactly as SafeLock except that <T> specifies the exception type to throw.
- Used to acquire a lock(object) with a timeout, either specified or the default of 2 minutes.
-
-
-
-
- Acquires the monitor lock on the object within 2 minutes, or throws TimeoutException
-
-
-
-
- Acquires the monitor lock on the object within timeoutMilliseconds, or throws TimeoutException
-
-
-
- Releases the lock acquired by the constructor
-
-
-
- provides a simple and fast, reader-writer lock, does not support read->write upgrades,
- if you need an upgradeable lock, use UpgradeableReadWriteLocking
-
-
-
- Max number of Spin loops before polling the _event
-
-
- Number of iterations used for Thread.SpinWait(x)
-
-
- Setup of the SpinWaitTime/SpinLoops by processor count
-
-
- The event used to wake a waiting writer when a read lock is released
-
-
- The syncronization object writers and potential readers use to lock
-
-
- The total number of read locks on this lock
-
-
- The number of readers the pending writer is waiting upon
-
-
- The number of time a write lock has been issued
-
-
- The managed thread id for the thread holding the write lock
-
-
- The number of times the write lock thread has acquired a write lock
-
-
-
- Constructs the reader-writer lock using 'this' as the syncronization object
-
-
-
-
- Constructs the reader-writer lock using the specified object for syncronization
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a read lock
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- This is the only real work to be done, once we've acquired the write lock
- we have to wait for all readers to complete. If/when that happens we can
- then own the write lock. The case where this does not take place is when
- a thread that already owns the lock calls us to lock again. In this case
- we can just return success and ignore the outstanding read requests. The
- major problem with this approach is that if function A() does a read-lock
- and calls function B() which does a write lock, this will fail. So the
- solution is to either use the upgradeable version (see the derived class
- UpgradableReadWriteLocking) and upgrade, or to start with a write lock in
- function A().
-
-
-
-
- Releases a writer lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Changes every time a write lock is aquired. If WriteVersion == 0, no write locks have been issued.
-
-
-
- Allows a write lock to be disposed
-
-
-
- Acquires the lock within the timeout or throws TimeoutException
-
-
-
- Tracks an existing read lock on a resource
-
-
- Acquires a read lock on the resource
-
-
- Unlocks the resource
-
-
-
- Returns true if write access is locked
-
-
-
-
- provides a writer-only lock around Monitor. The TryRead/ReleaseRead methods are no-ops and
- always return true.
-
-
-
- The writer version
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a read lock
-
-
-
-
- Returns true if the lock was successfully obtained within the timeout specified
-
-
-
-
- Releases a writer lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
- Returns a reader lock that can be elevated to a write lock
-
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Returns a read and write lock
-
-
-
-
- Changes every time a write lock is aquired. If WriteVersion == 0, no write locks have been issued.
-
-
-
- provides a set of runtime validations for inputs
-
-
-
-
- Verifies that the condition is true and if it fails constructs the specified type of
- exception and throws.
-
-
-
-
- Verifies that the condition is true and if it fails constructs the specified type of
- exception with any arguments provided and throws.
-
-
-
-
- Verifies that the condition is true and if it fails throws the execption returned
- by fnExceptionBuilder()
-
-
-
-
- Verifies that the condition is true and if it fails constructs the specified type of
- exception with any arguments provided and throws.
-
-
-
-
- Verifies that value is not null and returns the value or throws ArgumentNullException
-
-
-
-
- Verfies that the string is not null and not empty and returns the string.
- throws ArgumentNullException, ArgumentOutOfRangeException
-
-
-
-
- Verfies that the Guid is not empty.
- throws ArgumentOutOfRangeException
-
-
-
-
- Verfies that the collection is not null and not empty and returns the collection.
- throws ArgumentNullException, ArgumentOutOfRangeException
-
-
-
-
- Verifies that the two values are the same
- throws ArgumentException
-
-
-
-
- Verifies that the two values are NOT the same
- throws ArgumentException
-
-
-
-
- Verifies that the array is not empty and has at least min, but not more than max items.
- throws ArgumentNullExcpetion
- throws ArgumentOutOfRangeException
-
-
-
-
- Verifies that the value is min, max, or between the two.
- throws ArgumentOutOfRangeException
-
-
-
-
- Returns (T)value if the object provided can be assinged to a variable of type T
- throws ArgumentException
-
-
-
-
- Returns value if the object provided can be assinged to a variable of type toType
- throws ArgumentException
-
-
-
-
- Throws ArgumentException if the type fromType cannot be assigned to variable of type toType
-
-
-
-
- Used to delay creation of the excpetion until the condition fails.
-
-
-
-
- Provides an interface for tracking a limited number of references to objects for use in a WeakReference
- cache.
-
-
-
-
- Clears the entire keep-alive cache
-
-
-
-
- Can be called periodically by external threads to ensure cleanup instead of depending upon calls to Add()
-
-
-
-
- Cleans up expired items and adds the object to the list of items to keep alive.
-
-
-
-
- Provides a means of forcing the garbage collector to wait on objects aquired from permanent
- storage while only holding WeakReference's of the object. Essentially uses a simple lockless
- algorithm to track the most recently loaded objects so that they will stay alive longer.
-
-
-
-
- Configures the keep-alive policy for this container
-
- The minimum number of items desired in the list (kept event after age expires)
- The maximum number of items desired in the list (discarded even if age has not expired)
- Determines how long to keep an object if the count is between min and max
-
-
-
- Configures the keep-alive policy for this container
-
- The minimum number of items desired in the list (kept event after age expires)
- The maximum number of items desired in the list (discarded even if age has not expired)
- Determines how long to keep an object if the count is between min and max
- True if you want to perform cleanup exclusivly on another thread by calling Tick(), otherwise false
-
-
-
- Clears the entire keep-alive cache
-
-
-
-
- Can be called periodically by external threads to ensure cleanup instead of depending upon calls to Add()
-
-
-
-
- Cleans up expired items and adds the object to the list of items to keep alive.
-
-
-
-
- A strong-typed derivation of the WeakReference class
-
-
-
- Creates a new WeakReference that keeps track of target.
-
-
-
-
-
- Returns true if the Object was retrieved.
-
-
-
- Gets an indication whether the object referenced by the current object has been garbage collected.
-
-
-
- Gets or sets the Object stored in the handle if it's accessible.
-
-
-
diff --git a/TestNetFramework/bin/Release/Caching.dll b/TestNetFramework/bin/Release/Caching.dll
deleted file mode 100644
index 594b69e..0000000
Binary files a/TestNetFramework/bin/Release/Caching.dll and /dev/null differ
diff --git a/TestNetFramework/bin/Release/Caching.pdb b/TestNetFramework/bin/Release/Caching.pdb
deleted file mode 100644
index 498d70c..0000000
Binary files a/TestNetFramework/bin/Release/Caching.pdb and /dev/null differ
diff --git a/TestNetFramework/bin/Release/CachingTest.exe b/TestNetFramework/bin/Release/CachingTest.exe
deleted file mode 100644
index ce0823f..0000000
Binary files a/TestNetFramework/bin/Release/CachingTest.exe and /dev/null differ
diff --git a/TestNetFramework/bin/Release/CachingTest.exe.config b/TestNetFramework/bin/Release/CachingTest.exe.config
deleted file mode 100644
index 88fa402..0000000
--- a/TestNetFramework/bin/Release/CachingTest.exe.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/TestNetFramework/bin/Release/CachingTest.pdb b/TestNetFramework/bin/Release/CachingTest.pdb
deleted file mode 100644
index bc100c8..0000000
Binary files a/TestNetFramework/bin/Release/CachingTest.pdb and /dev/null differ
diff --git a/TestNetFramework/bin/Release/CachingTest.vshost.exe b/TestNetFramework/bin/Release/CachingTest.vshost.exe
deleted file mode 100644
index 681ab77..0000000
Binary files a/TestNetFramework/bin/Release/CachingTest.vshost.exe and /dev/null differ
diff --git a/TestNetFramework/bin/Release/CachingTest.vshost.exe.config b/TestNetFramework/bin/Release/CachingTest.vshost.exe.config
deleted file mode 100644
index 88fa402..0000000
--- a/TestNetFramework/bin/Release/CachingTest.vshost.exe.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/TestNetFramework/obj/Debug/CachingTest.csproj.CoreCompileInputs.cache b/TestNetFramework/obj/Debug/CachingTest.csproj.CoreCompileInputs.cache
deleted file mode 100644
index 5a4a7e1..0000000
--- a/TestNetFramework/obj/Debug/CachingTest.csproj.CoreCompileInputs.cache
+++ /dev/null
@@ -1 +0,0 @@
-8fe93d0352d1eafd91f09d8dbb6342658e95f810
diff --git a/TestNetFramework/obj/Debug/CachingTest.csproj.FileListAbsolute.txt b/TestNetFramework/obj/Debug/CachingTest.csproj.FileListAbsolute.txt
deleted file mode 100644
index 01de13a..0000000
--- a/TestNetFramework/obj/Debug/CachingTest.csproj.FileListAbsolute.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-c:\Code\Misc\Caching\CachingTest\bin\Debug\CachingTest.exe.config
-c:\Code\Misc\Caching\CachingTest\bin\Debug\CachingTest.exe
-c:\Code\Misc\Caching\CachingTest\bin\Debug\CachingTest.pdb
-c:\Code\Misc\Caching\CachingTest\obj\Debug\CachingTest.csprojResolveAssemblyReference.cache
-c:\Code\Misc\Caching\CachingTest\obj\Debug\CachingTest.exe
-c:\Code\Misc\Caching\CachingTest\obj\Debug\CachingTest.pdb
-c:\Code\Misc\Caching\CachingTest\bin\Debug\Caching.dll
-c:\Code\Misc\Caching\CachingTest\bin\Debug\Caching.pdb
-C:\code\misc\CachingWithBtree\CachingTest\bin\Debug\CachingTest.exe.config
-C:\code\misc\CachingWithBtree\CachingTest\obj\Debug\CachingTest.exe
-C:\code\misc\CachingWithBtree\CachingTest\obj\Debug\CachingTest.pdb
-C:\code\misc\CachingWithBtree\CachingTest\bin\Debug\CachingTest.exe
-C:\code\misc\CachingWithBtree\CachingTest\bin\Debug\CachingTest.pdb
-C:\code\misc\CachingWithBtree\CachingTest\bin\Debug\Caching.dll
-C:\code\misc\CachingWithBtree\CachingTest\bin\Debug\CSharpTest.Net.Collections.dll
-C:\code\misc\CachingWithBtree\CachingTest\bin\Debug\Caching.pdb
-C:\code\misc\CachingWithBtree\CachingTest\bin\Debug\CSharpTest.Net.Collections.xml
-C:\code\misc\CachingWithBtree\CachingTest\obj\Debug\CachingTest.csprojResolveAssemblyReference.cache
-C:\code\misc\CachingWithBtree\CachingTest\bin\Debug\Caching.dll.nuspec
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Debug\CachingTest.exe.config
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Debug\CachingTest.exe
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Debug\CachingTest.pdb
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Debug\Caching.dll
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Debug\CSharpTest.Net.Collections.dll
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Debug\Caching.pdb
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Debug\CSharpTest.Net.Collections.xml
-D:\Code\Misc\CachingWithBtree\CachingTest\obj\Debug\CachingTest.csprojResolveAssemblyReference.cache
-D:\Code\Misc\CachingWithBtree\CachingTest\obj\Debug\CachingTest.exe
-D:\Code\Misc\CachingWithBtree\CachingTest\obj\Debug\CachingTest.pdb
-D:\code\misc\CachingWithBtree\CachingTest\obj\Debug\CachingTest.csproj.CoreCompileInputs.cache
-D:\code\misc\CachingWithBtree\CachingTest\obj\Debug\CachingTest.csproj.CopyComplete
diff --git a/TestNetFramework/obj/Debug/CachingTest.csprojResolveAssemblyReference.cache b/TestNetFramework/obj/Debug/CachingTest.csprojResolveAssemblyReference.cache
deleted file mode 100644
index 44369f6..0000000
Binary files a/TestNetFramework/obj/Debug/CachingTest.csprojResolveAssemblyReference.cache and /dev/null differ
diff --git a/TestNetFramework/obj/Debug/CachingTest.exe b/TestNetFramework/obj/Debug/CachingTest.exe
deleted file mode 100644
index b059b19..0000000
Binary files a/TestNetFramework/obj/Debug/CachingTest.exe and /dev/null differ
diff --git a/TestNetFramework/obj/Debug/CachingTest.pdb b/TestNetFramework/obj/Debug/CachingTest.pdb
deleted file mode 100644
index bbf7782..0000000
Binary files a/TestNetFramework/obj/Debug/CachingTest.pdb and /dev/null differ
diff --git a/TestNetFramework/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/TestNetFramework/obj/Debug/DesignTimeResolveAssemblyReferences.cache
deleted file mode 100644
index 4cf0058..0000000
Binary files a/TestNetFramework/obj/Debug/DesignTimeResolveAssemblyReferences.cache and /dev/null differ
diff --git a/TestNetFramework/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/TestNetFramework/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
deleted file mode 100644
index 51e659e..0000000
Binary files a/TestNetFramework/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ
diff --git a/TestNetFramework/obj/Debug/TestNetFramework.csproj.CoreCompileInputs.cache b/TestNetFramework/obj/Debug/TestNetFramework.csproj.CoreCompileInputs.cache
deleted file mode 100644
index 486d7c3..0000000
--- a/TestNetFramework/obj/Debug/TestNetFramework.csproj.CoreCompileInputs.cache
+++ /dev/null
@@ -1 +0,0 @@
-de61a08c2024d29544ec3818095b712651214cd4
diff --git a/TestNetFramework/obj/Debug/TestNetFramework.csproj.FileListAbsolute.txt b/TestNetFramework/obj/Debug/TestNetFramework.csproj.FileListAbsolute.txt
deleted file mode 100644
index f8c46aa..0000000
--- a/TestNetFramework/obj/Debug/TestNetFramework.csproj.FileListAbsolute.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\bin\Debug\CachingTest.exe.config
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\bin\Debug\CachingTest.exe
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\bin\Debug\CachingTest.pdb
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\bin\Debug\Caching.dll
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\bin\Debug\CSharpTest.Net.Collections.dll
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\bin\Debug\Caching.pdb
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\obj\Debug\TestNetFramework.csprojAssemblyReference.cache
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\obj\Debug\TestNetFramework.csproj.CoreCompileInputs.cache
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\obj\Debug\TestNetFramework.csproj.CopyComplete
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\obj\Debug\CachingTest.exe
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\obj\Debug\CachingTest.pdb
-C:\Code\Misc\Caching\TestNetFramework\bin\Debug\CachingTest.exe.config
-C:\Code\Misc\Caching\TestNetFramework\bin\Debug\CachingTest.exe
-C:\Code\Misc\Caching\TestNetFramework\bin\Debug\CachingTest.pdb
-C:\Code\Misc\Caching\TestNetFramework\bin\Debug\Caching.dll
-C:\Code\Misc\Caching\TestNetFramework\bin\Debug\Caching.pdb
-C:\Code\Misc\Caching\TestNetFramework\obj\Debug\TestNetFramework.csprojAssemblyReference.cache
-C:\Code\Misc\Caching\TestNetFramework\obj\Debug\TestNetFramework.csproj.CoreCompileInputs.cache
-C:\Code\Misc\Caching\TestNetFramework\obj\Debug\TestNetFramework.csproj.CopyComplete
-C:\Code\Misc\Caching\TestNetFramework\obj\Debug\CachingTest.exe
-C:\Code\Misc\Caching\TestNetFramework\obj\Debug\CachingTest.pdb
diff --git a/TestNetFramework/obj/Release/CachingTest.csproj.CoreCompileInputs.cache b/TestNetFramework/obj/Release/CachingTest.csproj.CoreCompileInputs.cache
deleted file mode 100644
index c8d4f03..0000000
--- a/TestNetFramework/obj/Release/CachingTest.csproj.CoreCompileInputs.cache
+++ /dev/null
@@ -1 +0,0 @@
-fbcac83b91af7fea6a6dc95684ec0130f727cbfc
diff --git a/TestNetFramework/obj/Release/CachingTest.csproj.FileListAbsolute.txt b/TestNetFramework/obj/Release/CachingTest.csproj.FileListAbsolute.txt
deleted file mode 100644
index 676a479..0000000
--- a/TestNetFramework/obj/Release/CachingTest.csproj.FileListAbsolute.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Release\CachingTest.exe.config
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Release\CachingTest.exe
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Release\CachingTest.pdb
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Release\Caching.dll
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Release\CSharpTest.Net.Collections.dll
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Release\Caching.pdb
-D:\Code\Misc\CachingWithBtree\CachingTest\bin\Release\CSharpTest.Net.Collections.xml
-D:\Code\Misc\CachingWithBtree\CachingTest\obj\Release\CachingTest.csprojResolveAssemblyReference.cache
-D:\Code\Misc\CachingWithBtree\CachingTest\obj\Release\CachingTest.exe
-D:\Code\Misc\CachingWithBtree\CachingTest\obj\Release\CachingTest.pdb
-D:\code\misc\CachingWithBtree\CachingTest\obj\Release\CachingTest.csproj.CoreCompileInputs.cache
-D:\code\misc\CachingWithBtree\CachingTest\obj\Release\CachingTest.csproj.CopyComplete
-C:\code\misc\CachingWithBtree\CachingTest\bin\Release\CachingTest.exe.config
-C:\code\misc\CachingWithBtree\CachingTest\bin\Release\CachingTest.exe
-C:\code\misc\CachingWithBtree\CachingTest\bin\Release\CachingTest.pdb
-C:\code\misc\CachingWithBtree\CachingTest\bin\Release\Caching.dll
-C:\code\misc\CachingWithBtree\CachingTest\bin\Release\CSharpTest.Net.Collections.dll
-C:\code\misc\CachingWithBtree\CachingTest\bin\Release\Caching.pdb
-C:\code\misc\CachingWithBtree\CachingTest\bin\Release\CSharpTest.Net.Collections.xml
-C:\code\misc\CachingWithBtree\CachingTest\obj\Release\CachingTest.csprojAssemblyReference.cache
-C:\code\misc\CachingWithBtree\CachingTest\obj\Release\CachingTest.csproj.CoreCompileInputs.cache
-C:\code\misc\CachingWithBtree\CachingTest\obj\Release\CachingTest.csproj.CopyComplete
-C:\code\misc\CachingWithBtree\CachingTest\obj\Release\CachingTest.exe
-C:\code\misc\CachingWithBtree\CachingTest\obj\Release\CachingTest.pdb
diff --git a/TestNetFramework/obj/Release/CachingTest.csprojResolveAssemblyReference.cache b/TestNetFramework/obj/Release/CachingTest.csprojResolveAssemblyReference.cache
deleted file mode 100644
index 758ff56..0000000
Binary files a/TestNetFramework/obj/Release/CachingTest.csprojResolveAssemblyReference.cache and /dev/null differ
diff --git a/TestNetFramework/obj/Release/CachingTest.exe b/TestNetFramework/obj/Release/CachingTest.exe
deleted file mode 100644
index ce0823f..0000000
Binary files a/TestNetFramework/obj/Release/CachingTest.exe and /dev/null differ
diff --git a/TestNetFramework/obj/Release/CachingTest.pdb b/TestNetFramework/obj/Release/CachingTest.pdb
deleted file mode 100644
index bc100c8..0000000
Binary files a/TestNetFramework/obj/Release/CachingTest.pdb and /dev/null differ
diff --git a/TestNetFramework/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/TestNetFramework/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
deleted file mode 100644
index b336a00..0000000
Binary files a/TestNetFramework/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ
diff --git a/TestNetFramework/obj/Release/TestNetFramework.csproj.CoreCompileInputs.cache b/TestNetFramework/obj/Release/TestNetFramework.csproj.CoreCompileInputs.cache
deleted file mode 100644
index 6d6a612..0000000
--- a/TestNetFramework/obj/Release/TestNetFramework.csproj.CoreCompileInputs.cache
+++ /dev/null
@@ -1 +0,0 @@
-8a48ee0bc630311ec4d9b1a5c7f78718b729d5e1
diff --git a/TestNetFramework/obj/Release/TestNetFramework.csproj.FileListAbsolute.txt b/TestNetFramework/obj/Release/TestNetFramework.csproj.FileListAbsolute.txt
deleted file mode 100644
index ed48acb..0000000
--- a/TestNetFramework/obj/Release/TestNetFramework.csproj.FileListAbsolute.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\bin\Release\CachingTest.exe.config
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\bin\Release\CachingTest.exe
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\bin\Release\CachingTest.pdb
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\bin\Release\Caching.dll
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\bin\Release\CSharpTest.Net.Collections.dll
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\bin\Release\Caching.pdb
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\obj\Release\TestNetFramework.csprojAssemblyReference.cache
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\obj\Release\TestNetFramework.csproj.CoreCompileInputs.cache
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\obj\Release\TestNetFramework.csproj.CopyComplete
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\obj\Release\CachingTest.exe
-C:\Code\Misc\CachingWithBtreeRetarget\TestNetFramework\obj\Release\CachingTest.pdb
-C:\code\misc\Caching\TestNetFramework\bin\Release\CachingTest.exe.config
-C:\code\misc\Caching\TestNetFramework\bin\Release\CachingTest.exe
-C:\code\misc\Caching\TestNetFramework\bin\Release\CachingTest.pdb
-C:\code\misc\Caching\TestNetFramework\bin\Release\Caching.dll
-C:\code\misc\Caching\TestNetFramework\bin\Release\Caching.pdb
-C:\code\misc\Caching\TestNetFramework\obj\Release\TestNetFramework.csprojAssemblyReference.cache
-C:\code\misc\Caching\TestNetFramework\obj\Release\TestNetFramework.csproj.CoreCompileInputs.cache
-C:\code\misc\Caching\TestNetFramework\obj\Release\TestNetFramework.csproj.CopyComplete
-C:\code\misc\Caching\TestNetFramework\obj\Release\CachingTest.exe
-C:\code\misc\Caching\TestNetFramework\obj\Release\CachingTest.pdb
diff --git a/TestNetFramework/obj/Release/TestNetFramework.csprojAssemblyReference.cache b/TestNetFramework/obj/Release/TestNetFramework.csprojAssemblyReference.cache
deleted file mode 100644
index a067a05..0000000
Binary files a/TestNetFramework/obj/Release/TestNetFramework.csprojAssemblyReference.cache and /dev/null differ