GEODE-10058: Remove netcore and cbindings (#950)

* Remove c-bindings
* Remove netcore
* Remove dotnetcore sdk
* Remove c-bindings and netcore from CMakeLists.txt
* Remove netcore tests from CI

Co-authored-by: Blake Bender <bblake@vmware.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8f517ac..d820960 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -365,8 +365,6 @@
   add_subdirectory(templates/security/csharp)
 endif()
 add_subdirectory(tests)
-add_subdirectory(c-bindings)
-add_subdirectory(netcore)
 
 install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/xsds/ DESTINATION xsds)
 install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/defaultSystem/ DESTINATION defaultSystem)
diff --git a/c-bindings/CMakeLists.txt b/c-bindings/CMakeLists.txt
deleted file mode 100644
index 4b3a217..0000000
--- a/c-bindings/CMakeLists.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-project(apache-geode-c)
-
-add_library(${PROJECT_NAME} SHARED "src/auth_initialize.cpp"
-"src/cache.cpp"
-"src/client.cpp"
-"src/pool.cpp"
-"src/region.cpp"
-"src/cache/factory.cpp"
-"src/pool/factory.cpp"
-"src/pool/manager.cpp"
-"src/region/factory.cpp")
-
-target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
-
-target_link_libraries(${PROJECT_NAME} PRIVATE apache-geode-static)
-
-target_include_directories(${PROJECT_NAME} PRIVATE $<TARGET_PROPERTY:apache-geode-static,SOURCE_DIR>/../src)
-
-include(GenerateExportHeader)
-
-generate_export_header(${PROJECT_NAME}
-  BASE_NAME APACHE_GEODE_C
-  EXPORT_FILE_NAME apache-geode-c_export.h
-  CUSTOM_CONTENT_FROM_VARIABLE EXPORT_HEADER_CUSTOM_CONTENT
-)
-
-include_directories("include" "src" $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
-
-if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-  set_target_properties(${PROJECT_NAME} PROPERTIES
-    LINK_FLAGS "-exported_symbols_list \"${CMAKE_CURRENT_SOURCE_DIR}/symbols\"")
-elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-  set_target_properties(${PROJECT_NAME} PROPERTIES
-    LINK_FLAGS "-Wl,--version-script=\"${CMAKE_CURRENT_SOURCE_DIR}/symbols.version\"")
-endif()
-
-install(TARGETS ${PROJECT_NAME}
-  RUNTIME DESTINATION bin
-  LIBRARY DESTINATION lib
-  ARCHIVE DESTINATION lib)
-
-install(DIRECTORY "include/geode/" DESTINATION "c/include/geode")
-
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/apache-geode-c_export.h DESTINATION c/include/geode/internal)
-
-add_subdirectory(integration)
-
-add_clangformat(apache-geode-c)
diff --git a/c-bindings/include/geode/auth_initialize.h b/c-bindings/include/geode/auth_initialize.h
deleted file mode 100644
index c10b1de..0000000
--- a/c-bindings/include/geode/auth_initialize.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef APACHE_GEODE_C_AUTH_INITIALIZE_H
-#define APACHE_GEODE_C_AUTH_INITIALIZE_H
-
-#include "geode/internal/geode_base.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif  // __cplusplus
-
-struct apache_geode_properties_s;
-typedef struct apache_geode_properties_s apache_geode_properties_t;
-
-void APACHE_GEODE_C_EXPORT apache_geode_AuthInitialize_AddProperty(
-    apache_geode_properties_t* properties, const char* key, const char* value);
-
-#ifdef __cplusplus
-}
-#endif  // __cplusplus
-
-#endif  // APACHE_GEODE_C_AUTH_INITIALIZE_H
diff --git a/c-bindings/include/geode/cache.h b/c-bindings/include/geode/cache.h
deleted file mode 100644
index 2876a1f..0000000
--- a/c-bindings/include/geode/cache.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef APACHE_GEODE_C_CACHE_H
-#define APACHE_GEODE_C_CACHE_H
-
-#include "geode/internal/geode_base.h"
-
-#ifdef __cplusplus
-#include <cstdint>
-#else
-#include <stdint.h>
-#endif
-
-#ifndef __cplusplus
-#include <stdbool.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif  // __cplusplus
-
-struct apache_geode_cache_s;
-typedef struct apache_geode_cache_s apache_geode_cache_t;
-
-struct apache_geode_pool_manager_s;
-typedef struct apache_geode_pool_manager_s apache_geode_pool_manager_t;
-
-struct apache_geode_region_factory_s;
-typedef struct apache_geode_region_factory_s apache_geode_region_factory_t;
-
-APACHE_GEODE_C_EXPORT void apache_geode_DestroyCache(apache_geode_cache_t* cache);
-
-APACHE_GEODE_C_EXPORT bool apache_geode_Cache_GetPdxIgnoreUnreadFields(
-    apache_geode_cache_t* cache);
-
-APACHE_GEODE_C_EXPORT bool apache_geode_Cache_GetPdxReadSerialized(
-    apache_geode_cache_t* cache);
-
-APACHE_GEODE_C_EXPORT apache_geode_pool_manager_t*
-apache_geode_Cache_GetPoolManager(apache_geode_cache_t* cache);
-
-#ifdef __cplusplus
-APACHE_GEODE_C_EXPORT apache_geode_region_factory_t*
-apache_geode_Cache_CreateRegionFactory(apache_geode_cache_t* cache,
-                                       std::int32_t regionType);
-#else
-APACHE_GEODE_C_EXPORT apache_geode_region_factory_t*
-apache_geode_Cache_CreateRegionFactory(apache_geode_cache_t* cache,
-                                       int32_t regionType);
-#endif
-
-APACHE_GEODE_C_EXPORT const char* apache_geode_Cache_GetName(
-    apache_geode_cache_t* cache);
-
-APACHE_GEODE_C_EXPORT void apache_geode_Cache_Close(apache_geode_cache_t* cache,
-                                                  bool keepalive);
-
-APACHE_GEODE_C_EXPORT bool apache_geode_Cache_IsClosed(
-    apache_geode_cache_t* cache);
-
-#ifdef __cplusplus
-}
-#endif  // __cplusplus
-
-#endif  // APACHE_GEODE_C_CACHE_H
diff --git a/c-bindings/include/geode/cache/factory.h b/c-bindings/include/geode/cache/factory.h
deleted file mode 100644
index 96a0d9c..0000000
--- a/c-bindings/include/geode/cache/factory.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef APACHE_GEODE_C_CACHE_FACTORY_H
-#define APACHE_GEODE_C_CACHE_FACTORY_H
-
-#include "geode/internal/geode_base.h"
-
-#ifndef __cplusplus
-#include <stdbool.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif  // __cplusplus
-
-struct apache_geode_client_s;
-typedef struct apache_geode_client_s apache_geode_client_t;
-
-struct apache_geode_cache_factory_s;
-typedef struct apache_geode_cache_factory_s apache_geode_cache_factory_t;
-
-struct apache_geode_cache_s;
-typedef struct apache_geode_cache_s apache_geode_cache_t;
-
-struct apache_geode_properties_s;
-typedef struct apache_geode_properties_s apache_geode_properties_t;
-
-APACHE_GEODE_C_EXPORT apache_geode_cache_factory_t*
-apache_geode_CreateCacheFactory();
-
-APACHE_GEODE_C_EXPORT apache_geode_cache_t* apache_geode_CacheFactory_CreateCache(
-    apache_geode_cache_factory_t* factory);
-
-APACHE_GEODE_C_EXPORT const char* apache_geode_CacheFactory_GetVersion(
-    apache_geode_cache_factory_t* factory);
-
-APACHE_GEODE_C_EXPORT const char* apache_geode_CacheFactory_GetProductDescription(
-    apache_geode_cache_factory_t* factory);
-
-APACHE_GEODE_C_EXPORT void apache_geode_CacheFactory_SetPdxIgnoreUnreadFields(
-    apache_geode_cache_factory_t* factory, bool pdxIgnoreUnreadFields);
-
-APACHE_GEODE_C_EXPORT void apache_geode_CacheFactory_SetAuthInitialize(
-    apache_geode_cache_factory_t* factory,
-    void (*getCredentials)(apache_geode_properties_t*), void (*close)());
-
-APACHE_GEODE_C_EXPORT void apache_geode_CacheFactory_SetPdxReadSerialized(
-    apache_geode_cache_factory_t* factory, bool pdxReadSerialized);
-
-APACHE_GEODE_C_EXPORT void apache_geode_CacheFactory_SetProperty(
-    apache_geode_cache_factory_t* factory, const char* key, const char* value);
-
-APACHE_GEODE_C_EXPORT void apache_geode_DestroyCacheFactory(
-    apache_geode_cache_factory_t* factory);
-
-#ifdef __cplusplus
-}
-#endif  // __cplusplus
-
-#endif  // APACHE_GEODE_C_CACHE_FACTORY_H
diff --git a/c-bindings/include/geode/client.h b/c-bindings/include/geode/client.h
deleted file mode 100644
index eac1711..0000000
--- a/c-bindings/include/geode/client.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef APACHE_GEODE_C_CLIENT_H
-#define APACHE_GEODE_C_CLIENT_H
-
-#include "geode/internal/geode_base.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif  // __cplusplus
-
-struct apache_geode_client_s;
-typedef struct apache_geode_client_s apache_geode_client_t;
-
-APACHE_GEODE_C_EXPORT apache_geode_client_t* apache_geode_ClientInitialize();
-
-APACHE_GEODE_C_EXPORT int apache_geode_ClientUninitialize(
-    apache_geode_client_t* client);
-
-#ifdef __cplusplus
-}
-#endif  // __cplusplus
-
-#endif  // APACHE_GEODE_C_CLIENT_H
diff --git a/c-bindings/include/geode/internal/geode_base.h b/c-bindings/include/geode/internal/geode_base.h
deleted file mode 100644
index 9fd0512..0000000
--- a/c-bindings/include/geode/internal/geode_base.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef APACHE_GEODE_C_INTERNAL_GEODE_BASE_H
-#define APACHE_GEODE_C_INTERNAL_GEODE_BASE_H
-
-#include "apache-geode-c_export.h"
-
-#endif  // APACHE_GEODE_C_INTERNAL_GEODE_BASE_H
diff --git a/c-bindings/include/geode/pool.h b/c-bindings/include/geode/pool.h
deleted file mode 100644
index 30316fb..0000000
--- a/c-bindings/include/geode/pool.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef APACHE_GEODE_C_POOL_H
-#define APACHE_GEODE_C_POOL_H
-
-#include "geode/internal/geode_base.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif  // __cplusplus
-
-struct apache_geode_pool_s;
-typedef struct apache_geode_pool_s apache_geode_pool_t;
-
-APACHE_GEODE_C_EXPORT void apache_geode_DestroyPool(apache_geode_pool_t* pool);
-
-#ifdef __cplusplus
-}
-#endif  // __cplusplus
-
-#endif  // APACHE_GEODE_C_POOL_H
diff --git a/c-bindings/include/geode/pool/factory.h b/c-bindings/include/geode/pool/factory.h
deleted file mode 100644
index 91b0e4b..0000000
--- a/c-bindings/include/geode/pool/factory.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef APACHE_GEODE_C_POOL_FACTORY_H
-#define APACHE_GEODE_C_POOL_FACTORY_H
-
-#include "geode/internal/geode_base.h"
-
-#ifdef __cplusplus
-#include <cstdint>
-#else
-#include <stdint.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif  // __cplusplus
-
-struct apache_geode_pool_factory_s;
-typedef struct apache_geode_pool_factory_s apache_geode_pool_factory_t;
-
-struct apache_geode_pool_s;
-typedef struct apache_geode_pool_s apache_geode_pool_t;
-
-APACHE_GEODE_C_EXPORT apache_geode_pool_t* apache_geode_PoolFactory_CreatePool(
-    apache_geode_pool_factory_t* poolFactory, const char* name);
-
-#ifdef __cplusplus
-APACHE_GEODE_C_EXPORT void apache_geode_PoolFactory_AddLocator(
-    apache_geode_pool_factory_t* poolFactory, const char* hostname,
-    const std::uint16_t port);
-#else
-APACHE_GEODE_C_EXPORT void apache_geode_PoolFactory_AddLocator(
-    apache_geode_pool_factory_t* poolFactory, const char* hostname,
-    const uint16_t port);
-#endif
-
-APACHE_GEODE_C_EXPORT void apache_geode_DestroyPoolFactory(
-    apache_geode_pool_factory_t* poolFactory);
-
-#ifdef __cplusplus
-}
-#endif  // __cplusplus
-
-#endif  // APACHE_GEODE_C_POOL_FACTORY_H
diff --git a/c-bindings/include/geode/pool/manager.h b/c-bindings/include/geode/pool/manager.h
deleted file mode 100644
index d8aa85b..0000000
--- a/c-bindings/include/geode/pool/manager.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef APACHE_GEODE_C_POOL_MANAGER_H
-#define APACHE_GEODE_C_POOL_MANAGER_H
-
-#include "geode/internal/geode_base.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif  // __cplusplus
-
-struct apache_geode_pool_manager_s;
-typedef struct apache_geode_pool_manager_s apache_geode_pool_manager_t;
-
-struct apache_geode_pool_factory_s;
-typedef struct apache_geode_pool_factory_s apache_geode_pool_factory_t;
-
-APACHE_GEODE_C_EXPORT apache_geode_pool_factory_t*
-apache_geode_PoolManager_CreateFactory(
-    apache_geode_pool_manager_t* poolManager);
-
-APACHE_GEODE_C_EXPORT void apache_geode_DestroyPoolManager(
-    apache_geode_pool_manager_t* poolManager);
-
-#ifdef __cplusplus
-}
-#endif  // __cplusplus
-
-#endif  // APACHE_GEODE_C_POOL_MANAGER_H
diff --git a/c-bindings/include/geode/region.h b/c-bindings/include/geode/region.h
deleted file mode 100644
index 7355d04..0000000
--- a/c-bindings/include/geode/region.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef APACHE_GEODE_C_REGION_H
-#define APACHE_GEODE_C_REGION_H
-
-#include "geode/internal/geode_base.h"
-
-#ifndef __cplusplus
-#include <stdbool.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif  // __cplusplus
-
-struct apache_geode_region_s;
-typedef struct apache_geode_region_s apache_geode_region_t;
-
-APACHE_GEODE_C_EXPORT void apache_geode_DestroyRegion(
-    apache_geode_region_t* region);
-
-APACHE_GEODE_C_EXPORT void apache_geode_Region_PutString(
-    apache_geode_region_t* region, const char* key, const char* value);
-
-APACHE_GEODE_C_EXPORT void apache_geode_Region_PutByteArray(
-    apache_geode_region_t* region, const char* key, const char* value, size_t size);
-
-APACHE_GEODE_C_EXPORT const char* apache_geode_Region_GetString(
-    apache_geode_region_t* region, const char* key);
-
-APACHE_GEODE_C_EXPORT void apache_geode_Region_GetByteArray(
-    apache_geode_region_t* region, const char* key, char** value, size_t* size);
-
-APACHE_GEODE_C_EXPORT void apache_geode_Region_Remove(
-    apache_geode_region_t* region, const char* key);
-
-APACHE_GEODE_C_EXPORT bool apache_geode_Region_ContainsValueForKey(
-    apache_geode_region_t* region, const char* key);
-    
-#ifdef __cplusplus
-}
-#endif  // __cplusplus
-
-#endif  // APACHE_GEODE_C_REGION_H
diff --git a/c-bindings/include/geode/region/factory.h b/c-bindings/include/geode/region/factory.h
deleted file mode 100644
index 9612833..0000000
--- a/c-bindings/include/geode/region/factory.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef APACHE_GEODE_C_REGION_FACTORY_H
-#define APACHE_GEODE_C_REGION_FACTORY_H
-
-#include "geode/internal/geode_base.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif  // __cplusplus
-
-struct apache_geode_cache_s;
-typedef struct apache_geode_cache_s apache_geode_cache_t;
-
-struct apache_geode_region_factory_s;
-typedef struct apache_geode_region_factory_s apache_geode_region_factory_t;
-
-struct apache_geode_region_s;
-typedef struct apache_geode_region_s apache_geode_region_t;
-
-APACHE_GEODE_C_EXPORT void apache_geode_DestroyRegionFactory(
-    apache_geode_region_factory_t* regionFactory);
-
-APACHE_GEODE_C_EXPORT void apache_geode_RegionFactory_SetPoolName(
-    apache_geode_region_factory_t* regionFactory, const char* poolName);
-
-APACHE_GEODE_C_EXPORT apache_geode_region_t*
-apache_geode_RegionFactory_CreateRegion(
-    apache_geode_region_factory_t* regionFactory, const char* regionName);
-
-#ifdef __cplusplus
-}
-#endif  // __cplusplus
-
-#endif  // APACHE_GEODE_C_REGION_FACTORY_H
diff --git a/c-bindings/include/geode/region/shortcut.h b/c-bindings/include/geode/region/shortcut.h
deleted file mode 100644
index e57a84d..0000000
--- a/c-bindings/include/geode/region/shortcut.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef APACHE_GEODE_C_REGION_SHORTCUT_H
-#define APACHE_GEODE_C_REGION_SHORTCUT_H
-
-enum { PROXY, CACHING_PROXY, CACHING_PROXY_ENTRY_LRU, LOCAL, LOCAL_ENTRY_LRU };
-
-#endif
diff --git a/c-bindings/integration/CMakeLists.txt b/c-bindings/integration/CMakeLists.txt
deleted file mode 100644
index 255cca4..0000000
--- a/c-bindings/integration/CMakeLists.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-add_subdirectory(test)
diff --git a/c-bindings/integration/test/CAuthInitialize.cpp b/c-bindings/integration/test/CAuthInitialize.cpp
deleted file mode 100644
index 4c4460d..0000000
--- a/c-bindings/integration/test/CAuthInitialize.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <framework/Cluster.h>
-#include <framework/Framework.h>
-#include <framework/Gfsh.h>
-
-#include <gtest/gtest.h>
-
-#include "geode/auth_initialize.h"
-#include "geode/cache.h"
-#include "geode/cache/factory.h"
-#include "geode/client.h"
-#include "geode/pool.h"
-#include "geode/pool/factory.h"
-#include "geode/pool/manager.h"
-#include "geode/region.h"
-#include "geode/region/factory.h"
-#include "geode/region/shortcut.h"
-
-static auto credentialsRequested_ = 0;
-
-void simpleGetCredentials(apache_geode_properties_t* props) {
-  apache_geode_AuthInitialize_AddProperty(props, "security-username", "root");
-  apache_geode_AuthInitialize_AddProperty(props, "security-password",
-                                          "root-password");
-  credentialsRequested_++;
-}
-
-void simpleClose() {}
-
-TEST(CAuthInitializeTest, putGetWithBasicAuth) {
-  Cluster cluster(
-      Name(std::string(::testing::UnitTest::GetInstance()
-                           ->current_test_info()
-                           ->test_suite_name()) +
-           "/" +
-           ::testing::UnitTest::GetInstance()->current_test_info()->name()),
-      Classpath{getFrameworkString(FrameworkVariable::JavaObjectJarPath)},
-      SecurityManager{"javaobject.SimpleSecurityManager"}, User{"root"},
-      Password{"root-password"}, LocatorCount{1}, ServerCount{1});
-
-  cluster.start();
-
-  cluster.getGfsh()
-      .create()
-      .region()
-      .withName("region")
-      .withType("PARTITION")
-      .execute();
-
-  auto client = apache_geode_ClientInitialize();
-  auto cache_factory = apache_geode_CreateCacheFactory();
-
-  apache_geode_CacheFactory_SetProperty(cache_factory,
-                                        "statistic-sampling-enabled", "false");
-  apache_geode_CacheFactory_SetAuthInitialize(
-      cache_factory, simpleGetCredentials, simpleClose);
-
-  auto cache = apache_geode_CacheFactory_CreateCache(cache_factory);
-
-  auto pool_manager = apache_geode_Cache_GetPoolManager(cache);
-  auto pool_factory = apache_geode_PoolManager_CreateFactory(pool_manager);
-
-  for (const auto& locator : cluster.getLocators()) {
-    apache_geode_PoolFactory_AddLocator(pool_factory,
-                                        locator.getAddress().address.c_str(),
-                                        locator.getAddress().port);
-  }
-
-  auto pool = apache_geode_PoolFactory_CreatePool(pool_factory, "default");
-
-  auto region_factory = apache_geode_Cache_CreateRegionFactory(cache, PROXY);
-
-  apache_geode_RegionFactory_SetPoolName(region_factory, "default");
-  auto region =
-      apache_geode_RegionFactory_CreateRegion(region_factory, "region");
-
-  apache_geode_Region_PutString(region, "foo", "bar");
-  apache_geode_Region_PutString(region, "baz", "qux");
-
-  auto foo_value = apache_geode_Region_GetString(region, "foo");
-  ASSERT_STREQ(foo_value, "bar");
-
-  auto baz_value = apache_geode_Region_GetString(region, "baz");
-  ASSERT_STREQ(baz_value, "qux");
-
-  ASSERT_GT(credentialsRequested_, 0);
-
-  apache_geode_DestroyRegion(region);
-  apache_geode_DestroyRegionFactory(region_factory);
-  apache_geode_DestroyPool(pool);
-  apache_geode_DestroyPoolFactory(pool_factory);
-  apache_geode_DestroyPoolManager(pool_manager);
-  apache_geode_DestroyCache(cache);
-
-  apache_geode_DestroyCacheFactory(cache_factory);
-  auto leaks = apache_geode_ClientUninitialize(client);
-  ASSERT_EQ(leaks, 0);
-}
diff --git a/c-bindings/integration/test/CCacheCreationTest.cpp b/c-bindings/integration/test/CCacheCreationTest.cpp
deleted file mode 100644
index 37af7d8..0000000
--- a/c-bindings/integration/test/CCacheCreationTest.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <framework/Cluster.h>
-#include <framework/Framework.h>
-#include <framework/Gfsh.h>
-
-#include <gtest/gtest.h>
-
-#include "geode/cache.h"
-#include "geode/cache/factory.h"
-#include "geode/client.h"
-#include "geode/pool.h"
-#include "geode/pool/factory.h"
-#include "geode/pool/manager.h"
-#include "geode/region.h"
-#include "geode/region/factory.h"
-#include "geode/region/shortcut.h"
-
-/**
- * Example test using single server and waiting for async put and update
- * operations to synchronize using promises.
- */
-TEST(CCacheCreationTest, setPdxIgnoreUnreadFieldsAndCreateCache) {
-  auto client = apache_geode_ClientInitialize();
-  auto cache_factory = apache_geode_CreateCacheFactory();
-
-  apache_geode_CacheFactory_SetProperty(cache_factory,
-                                        "statistic-sampling-enabled", "false");
-
-  apache_geode_CacheFactory_SetPdxIgnoreUnreadFields(cache_factory, true);
-  auto cache = apache_geode_CacheFactory_CreateCache(cache_factory);
-  ASSERT_TRUE(apache_geode_Cache_GetPdxIgnoreUnreadFields(cache));
-
-  apache_geode_CacheFactory_SetPdxIgnoreUnreadFields(cache_factory, false);
-  auto cache2 = apache_geode_CacheFactory_CreateCache(cache_factory);
-  ASSERT_FALSE(apache_geode_Cache_GetPdxIgnoreUnreadFields(cache2));
-
-  apache_geode_DestroyCache(cache);
-  apache_geode_DestroyCache(cache2);
-
-  apache_geode_DestroyCacheFactory(cache_factory);
-  auto leaks = apache_geode_ClientUninitialize(client);
-
-  ASSERT_EQ(leaks, 0);
-}
diff --git a/c-bindings/integration/test/CMakeLists.txt b/c-bindings/integration/test/CMakeLists.txt
deleted file mode 100644
index af66bea..0000000
--- a/c-bindings/integration/test/CMakeLists.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-project(apache-geode-c-integration-test)
-
-add_executable(${PROJECT_NAME}
-  CAuthInitialize.cpp
-  CCacheCreationTest.cpp
-  ExampleTest.cpp
-)
-
-target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
-
-target_compile_definitions(${PROJECT_NAME}
-  PUBLIC
-    GTEST_ELLIPSIS_NEEDS_POD_
-)
-
-target_include_directories(${PROJECT_NAME}
-  PUBLIC
-   ${CMAKE_CURRENT_BINARY_DIR}
-)
-
-target_link_libraries(${PROJECT_NAME}
-  PUBLIC
-    apache-geode-c
-    integration-framework
-    testobject
-    ACE::ACE
-    GTest::gtest
-    GTest::gtest_main
-    Boost::boost
-    Boost::system
-    Boost::log
-    Boost::filesystem
-    Boost::chrono
-  PRIVATE
-    _WarningsAsError
-    internal
-)
-
-if(WIN32)
-  foreach (_target apache-geode-c apache-geode testobject)
-    add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different
-        "$<TARGET_FILE:${_target}>"
-        "$<$<CONFIG:Debug>:$<TARGET_PDB_FILE:${_target}>>"
-        "$<TARGET_FILE_DIR:${PROJECT_NAME}>")
-  endforeach()
-endif()
-
-set_target_properties(${PROJECT_NAME} PROPERTIES
-  FOLDER c_bindings/test/integration
-)
-
-add_clangformat(${PROJECT_NAME})
-
-enable_testing()
-include(GoogleTest)
-gtest_discover_tests(${PROJECT_NAME} DISCOVERY_TIMEOUT 60)
diff --git a/c-bindings/integration/test/ExampleTest.cpp b/c-bindings/integration/test/ExampleTest.cpp
deleted file mode 100644
index 9443374..0000000
--- a/c-bindings/integration/test/ExampleTest.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <framework/Cluster.h>
-#include <framework/Framework.h>
-#include <framework/Gfsh.h>
-
-#include <gtest/gtest.h>
-
-#include "geode/cache.h"
-#include "geode/cache/factory.h"
-#include "geode/client.h"
-#include "geode/pool.h"
-#include "geode/pool/factory.h"
-#include "geode/pool/manager.h"
-#include "geode/region.h"
-#include "geode/region/factory.h"
-#include "geode/region/shortcut.h"
-
-/**
- * Example test using single server and waiting for async put and update
- * operations to synchronize using promises.
- */
-TEST(ExampleTest, putGetAndUpdateWith1Server) {
-  Cluster cluster{LocatorCount{1}, ServerCount{1}};
-
-  cluster.start();
-
-  cluster.getGfsh()
-      .create()
-      .region()
-      .withName("region")
-      .withType("REPLICATE")
-      .execute();
-
-  auto client = apache_geode_ClientInitialize();
-  auto cache_factory = apache_geode_CreateCacheFactory();
-
-  apache_geode_CacheFactory_SetProperty(cache_factory, "log-level", "none");
-  apache_geode_CacheFactory_SetProperty(cache_factory,
-                                        "statistic-sampling-enabled", "false");
-
-  auto cache = apache_geode_CacheFactory_CreateCache(cache_factory);
-
-  auto pool_manager = apache_geode_Cache_GetPoolManager(cache);
-  auto pool_factory = apache_geode_PoolManager_CreateFactory(pool_manager);
-  apache_geode_PoolFactory_AddLocator(pool_factory, "localhost",
-                                      cluster.getLocatorPort());
-  auto pool = apache_geode_PoolFactory_CreatePool(pool_factory, "myPool");
-  auto region_factory = apache_geode_Cache_CreateRegionFactory(cache, PROXY);
-  apache_geode_RegionFactory_SetPoolName(region_factory, "myPool");
-  auto region =
-      apache_geode_RegionFactory_CreateRegion(region_factory, "region");
-
-  apache_geode_Region_PutString(region, "key", "value");
-
-  auto value = apache_geode_Region_GetString(region, "key");
-
-  ASSERT_STREQ(value, "value");
-
-  apache_geode_DestroyRegion(region);
-  apache_geode_DestroyRegionFactory(region_factory);
-  apache_geode_DestroyPool(pool);
-  apache_geode_DestroyPoolFactory(pool_factory);
-  apache_geode_DestroyPoolManager(pool_manager);
-  apache_geode_DestroyCache(cache);
-  apache_geode_DestroyCacheFactory(cache_factory);
-  auto leaks = apache_geode_ClientUninitialize(client);
-
-  ASSERT_EQ(leaks, 0);
-}
diff --git a/c-bindings/src/auth_initialize.cpp b/c-bindings/src/auth_initialize.cpp
deleted file mode 100644
index 35b97e2..0000000
--- a/c-bindings/src/auth_initialize.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Standard headers
-#include <memory>
-#include <string>
-
-// C++ client public headers
-#include <geode/Properties.hpp>
-
-// C++ client private headers
-#include "util/Log.hpp"
-
-// C client public headers
-#include "geode/auth_initialize.h"
-
-// C client private headers
-#include "auth_initialize.hpp"
-
-void apache_geode_AuthInitialize_AddProperty(
-    apache_geode_properties_t* properties, const char* key, const char* value) {
-  auto securityProperties =
-      reinterpret_cast<apache::geode::client::Properties*>(properties);
-  securityProperties->insert(key, value);
-  LOGDEBUG("AuthInitializeWrapper::%s: added (k, v) = (\"%s\", \"%s\")",
-           __FUNCTION__, key, value);
-}
-
-std::shared_ptr<apache::geode::client::Properties>
-AuthInitializeWrapper::getCredentials(
-    const std::shared_ptr<apache::geode::client::Properties>& securityprops,
-    const std::string& /*server*/) {
-  LOGDEBUG("AuthInitializeWrapper::%s(%p): entry", __FUNCTION__, this);
-
-  if (getCredentials_) {
-    LOGDEBUG("AuthInitializeWrapper::%s(%p): calling getCredentials()",
-             __FUNCTION__, this);
-    getCredentials_(
-        reinterpret_cast<apache_geode_properties_t*>(securityprops.get()));
-  }
-
-  LOGDEBUG("AuthInitializeWrapper::%s(%p): exit", __FUNCTION__, this);
-  return securityprops;
-}
-
-void AuthInitializeWrapper::close() {
-  LOGDEBUG("AuthInitializeWrapper::%s(%p): entry", __FUNCTION__, this);
-
-  if (close_) {
-    LOGDEBUG("AuthInitializeWrapper::%s(%p): calling close()", __FUNCTION__,
-             this);
-    close_();
-  }
-  LOGDEBUG("AuthInitializeWrapper::%s(%p): exit", __FUNCTION__, this);
-}
-
-AuthInitializeWrapper::AuthInitializeWrapper(
-    void (*getCredentials)(apache_geode_properties_t*), void (*close)())
-    : AuthInitialize(), getCredentials_(getCredentials), close_(close) {}
diff --git a/c-bindings/src/auth_initialize.hpp b/c-bindings/src/auth_initialize.hpp
deleted file mode 100644
index e759959..0000000
--- a/c-bindings/src/auth_initialize.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <memory>
-#include <string>
-
-#include "geode/AuthInitialize.hpp"
-#include "geode/auth_initialize.h"
-
-namespace apache {
-  namespace geode {
-    namespace client {
-      class Properties;
-    }
-  }
-}
-
-class AuthInitializeWrapper : public apache::geode::client::AuthInitialize {
-  void (*getCredentials_)(apache_geode_properties_t*);
-  void (*close_)();
-
- public:
-  std::shared_ptr<apache::geode::client::Properties> getCredentials(
-      const std::shared_ptr<apache::geode::client::Properties>& securityprops,
-      const std::string& /*server*/) override;
-
-  void close() override;
-
-  AuthInitializeWrapper(void (*getCredentials)(apache_geode_properties_t*),
-                        void (*close)());
-
-  ~AuthInitializeWrapper() override = default;
-};
diff --git a/c-bindings/src/cache.cpp b/c-bindings/src/cache.cpp
deleted file mode 100644
index ad42cc2..0000000
--- a/c-bindings/src/cache.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Standard headers
-#include <cstdint>
-
-// C++ client public headers
-#include "geode/RegionShortcut.hpp"
-
-// C++ client private headers
-#include "util/Log.hpp"
-
-// C client public headers
-#include "geode/cache.h"
-
-// C client private headers
-#include "cache.hpp"
-#include "cache/factory.hpp"
-#include "pool/manager.hpp"
-#include "region/factory.hpp"
-
-void apache_geode_DestroyCache(apache_geode_cache_t* cache) {
-  CacheWrapper* cacheWrapper = reinterpret_cast<CacheWrapper*>(cache);
-  LOGDEBUG("%s: destroying cache %p", __FUNCTION__, cache);
-  delete cacheWrapper;
-}
-
-bool apache_geode_Cache_GetPdxIgnoreUnreadFields(apache_geode_cache_t* cache) {
-  LOGDEBUG("%s: cache=%p", __FUNCTION__, cache);
-  CacheWrapper* cacheWrapper = reinterpret_cast<CacheWrapper*>(cache);
-  return cacheWrapper->getPdxIgnoreUnreadFields();
-}
-
-bool apache_geode_Cache_GetPdxReadSerialized(apache_geode_cache_t* cache) {
-  LOGDEBUG("%s: cache=%p", __FUNCTION__, cache);
-  CacheWrapper* cacheWrapper = reinterpret_cast<CacheWrapper*>(cache);
-  return cacheWrapper->getPdxReadSerialized();
-}
-
-apache_geode_pool_manager_t* apache_geode_Cache_GetPoolManager(
-    apache_geode_cache_t* cache) {
-  LOGDEBUG("%s: cache=%p", __FUNCTION__, cache);
-  CacheWrapper* cacheWrapper = reinterpret_cast<CacheWrapper*>(cache);
-  return reinterpret_cast<apache_geode_pool_manager_t*>(
-      cacheWrapper->getPoolManager());
-}
-
-apache_geode_region_factory_t* apache_geode_Cache_CreateRegionFactory(
-    apache_geode_cache_t* cache, std::int32_t regionType) {
-  LOGDEBUG("%s: cache=%p", __FUNCTION__, cache);
-  CacheWrapper* cacheWrapper = reinterpret_cast<CacheWrapper*>(cache);
-  apache::geode::client::RegionShortcut regionShortcut =
-      static_cast<apache::geode::client::RegionShortcut>(regionType);
-  return reinterpret_cast<apache_geode_region_factory_t*>(
-      cacheWrapper->createRegionFactory(regionShortcut));
-}
-
-const char* apache_geode_Cache_GetName(apache_geode_cache_t* cache) {
-  LOGDEBUG("%s: cache=%p", __FUNCTION__, cache);
-  CacheWrapper* cacheWrapper = reinterpret_cast<CacheWrapper*>(cache);
-  return cacheWrapper->getName();
-}
-
-void apache_geode_Cache_Close(apache_geode_cache_t* cache, bool keepalive) {
-  LOGDEBUG("%s: cache=%p", __FUNCTION__, cache);
-  CacheWrapper* cacheWrapper = reinterpret_cast<CacheWrapper*>(cache);
-  cacheWrapper->close(keepalive);
-}
-
-bool apache_geode_Cache_IsClosed(apache_geode_cache_t* cache) {
-  LOGDEBUG("%s: cache=%p", __FUNCTION__, cache);
-  CacheWrapper* cacheWrapper = reinterpret_cast<CacheWrapper*>(cache);
-  return cacheWrapper->isClosed();
-}
-
-CacheWrapper::CacheWrapper(apache::geode::client::Cache cache)
-    : cache_(std::move(cache)) {
-  AddRecord(this, "CacheWrapper");
-}
-
-CacheWrapper::~CacheWrapper() { RemoveRecord(this); }
-
-bool CacheWrapper::getPdxIgnoreUnreadFields() {
-  return cache_.getPdxIgnoreUnreadFields();
-}
-
-bool CacheWrapper::getPdxReadSerialized() {
-  return cache_.getPdxReadSerialized();
-}
-
-PoolManagerWrapper* CacheWrapper::getPoolManager() {
-  return new PoolManagerWrapper(this, cache_.getPoolManager());
-}
-
-RegionFactoryWrapper* CacheWrapper::createRegionFactory(
-    apache::geode::client::RegionShortcut regionShortcut) {
-  return new RegionFactoryWrapper(this,
-                                  cache_.createRegionFactory(regionShortcut));
-}
-
-const char* CacheWrapper::getName() { return cache_.getName().c_str(); }
-
-void CacheWrapper::close(bool keepalive) { cache_.close(keepalive); }
-
-bool CacheWrapper::isClosed() { return cache_.isClosed(); }
diff --git a/c-bindings/src/cache.hpp b/c-bindings/src/cache.hpp
deleted file mode 100644
index dc64517..0000000
--- a/c-bindings/src/cache.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include "geode/Cache.hpp"
-#include "client.hpp"
-
-
-namespace apache {
-  namespace geode {
-    namespace client {
-      enum class RegionShortcut;
-    }
-  }
-}
-
-class PoolManagerWrapper;
-class RegionFactoryWrapper;
-class CacheFactoryWrapper;
-
-class CacheWrapper: public ClientKeeper {
-  apache::geode::client::Cache cache_;
-
- public:
-  explicit CacheWrapper(apache::geode::client::Cache);
-  ~CacheWrapper();
-
-  bool getPdxIgnoreUnreadFields();
-
-  bool getPdxReadSerialized();
-
-  PoolManagerWrapper* getPoolManager();
-
-  RegionFactoryWrapper* createRegionFactory(
-      apache::geode::client::RegionShortcut regionShortcut);
-
-  const char* getName();
-
-  void close(bool keepalive);
-
-  bool isClosed();
-};
diff --git a/c-bindings/src/cache/factory.cpp b/c-bindings/src/cache/factory.cpp
deleted file mode 100644
index e0b5bb4..0000000
--- a/c-bindings/src/cache/factory.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Standard headers
-#include <iostream>
-#include <memory>
-#include <string>
-
-// C++ client public headers
-#include "geode/CacheFactory.hpp"
-
-// C++ client private headers
-#include "util/Log.hpp"
-
-// C client public headers
-#include "geode/cache.h"
-#include "geode/cache/factory.h"
-#include "geode/client.h"
-
-// C client private headers
-#include "auth_initialize.hpp"
-#include "cache.hpp"
-#include "client.hpp"
-#include "factory.hpp"
-
-CacheFactoryWrapper::CacheFactoryWrapper() {
-  AddRecord(this, "CacheFactoryWrapper");
-  cacheFactory_.set("log-level", "debug");
-  std::cout << __FUNCTION__ << " " << static_cast<void*>(this) << "\n";
-}
-
-CacheFactoryWrapper::~CacheFactoryWrapper() { RemoveRecord(this); }
-
-const char* CacheFactoryWrapper::getVersion() {
-  return cacheFactory_.getVersion().c_str();
-}
-
-const char* CacheFactoryWrapper::getProductDescription() {
-  return cacheFactory_.getProductDescription().c_str();
-}
-
-void CacheFactoryWrapper::setPdxIgnoreUnreadFields(bool pdxIgnoreUnreadFields) {
-  std::cout << __FUNCTION__ << " " << static_cast<void*>(this) << "\n";
-  cacheFactory_.setPdxIgnoreUnreadFields(pdxIgnoreUnreadFields);
-}
-
-void CacheFactoryWrapper::setAuthInitialize(
-    void (*getCredentials)(apache_geode_properties_t*), void (*close)()) {
-  authInit_ = std::make_shared<AuthInitializeWrapper>(getCredentials, close);
-  cacheFactory_.setAuthInitialize(authInit_);
-}
-
-void CacheFactoryWrapper::setPdxReadSerialized(bool pdxReadSerialized) {
-  cacheFactory_.setPdxReadSerialized(pdxReadSerialized);
-}
-
-void CacheFactoryWrapper::setProperty(const std::string& key,
-                                      const std::string& value) {
-  cacheFactory_.set(key, value);
-}
-
-CacheWrapper* CacheFactoryWrapper::createCache() {
-  std::cout << __FUNCTION__ << " " << static_cast<void*>(this) << "\n";
-  return new CacheWrapper(cacheFactory_.create());
-}
-
-apache_geode_cache_factory_t* apache_geode_CreateCacheFactory() {
-  auto factory = new CacheFactoryWrapper();
-  std::cout << __FUNCTION__ << " factory: " << static_cast<void*>(factory)
-            << "\n";
-  LOGDEBUG("%s: factory=%p", __FUNCTION__, factory);
-  return reinterpret_cast<apache_geode_cache_factory_t*>(factory);
-}
-
-apache_geode_cache_t* apache_geode_CacheFactory_CreateCache(
-    apache_geode_cache_factory_t* factory) {
-  auto cacheFactory = reinterpret_cast<CacheFactoryWrapper*>(factory);
-  CacheWrapper* cache = cacheFactory->createCache();
-  std::cout << __FUNCTION__ << " factory: " << static_cast<void*>(factory)
-            << "cache: " << static_cast<void*>(cache) << "\n";
-  LOGDEBUG("%s: factory=%p, cache=%p", __FUNCTION__, factory, cache);
-  return reinterpret_cast<apache_geode_cache_t*>(cache);
-}
-
-const char* apache_geode_CacheFactory_GetVersion(
-    apache_geode_cache_factory_t* factory) {
-  LOGDEBUG("%s: factory=%p", __FUNCTION__, factory);
-  auto cacheFactory = reinterpret_cast<CacheFactoryWrapper*>(factory);
-  return cacheFactory->getVersion();
-}
-
-const char* apache_geode_CacheFactory_GetProductDescription(
-    apache_geode_cache_factory_t* factory) {
-  LOGDEBUG("%s: factory=%p", __FUNCTION__, factory);
-  auto cacheFactory = reinterpret_cast<CacheFactoryWrapper*>(factory);
-  return cacheFactory->getProductDescription();
-}
-
-void apache_geode_CacheFactory_SetPdxIgnoreUnreadFields(
-    apache_geode_cache_factory_t* factory, bool pdxIgnoreUnreadFields) {
-  auto cacheFactory = reinterpret_cast<CacheFactoryWrapper*>(factory);
-  auto ignoreUnreadFields = pdxIgnoreUnreadFields ? "true" : "false";
-  std::cout << __FUNCTION__ << " factory: " << static_cast<void*>(factory)
-            << "\n";
-  LOGDEBUG("%s: factory=%p, ignoreUnreadFields=%s", __FUNCTION__, factory,
-           ignoreUnreadFields);
-  cacheFactory->setPdxIgnoreUnreadFields(pdxIgnoreUnreadFields);
-}
-
-void apache_geode_CacheFactory_SetAuthInitialize(
-    apache_geode_cache_factory_t* factory,
-    void (*getCredentials)(apache_geode_properties_t*), void (*close)()) {
-  auto cacheFactory = reinterpret_cast<CacheFactoryWrapper*>(factory);
-  LOGDEBUG("%s: factory=%p, getCredentials=%p, close=%p", __FUNCTION__, factory,
-           getCredentials, close);
-  cacheFactory->setAuthInitialize(getCredentials, close);
-}
-
-void apache_geode_CacheFactory_SetPdxReadSerialized(
-    apache_geode_cache_factory_t* factory, bool pdxReadSerialized) {
-  auto cacheFactory = reinterpret_cast<CacheFactoryWrapper*>(factory);
-  auto readSerialized = pdxReadSerialized ? "true" : "false";
-  LOGDEBUG("%s: factory=%p, readSerialized=%s", __FUNCTION__, factory,
-           readSerialized);
-  cacheFactory->setPdxReadSerialized(pdxReadSerialized);
-}
-
-void apache_geode_CacheFactory_SetProperty(
-    apache_geode_cache_factory_t* factory, const char* key, const char* value) {
-  LOGDEBUG("%s: factory=%p, (k, v)=(%s, %s)", __FUNCTION__, factory,
-           std::string(key).c_str(), std::string(value).c_str());
-  auto cacheFactory = reinterpret_cast<CacheFactoryWrapper*>(factory);
-  cacheFactory->setProperty(key, value);
-}
-
-void apache_geode_DestroyCacheFactory(apache_geode_cache_factory_t* factory) {
-  std::cout << __FUNCTION__ << " factory: " << static_cast<void*>(factory)
-            << "\n";
-  delete reinterpret_cast<CacheFactoryWrapper*>(factory);
-}
diff --git a/c-bindings/src/cache/factory.hpp b/c-bindings/src/cache/factory.hpp
deleted file mode 100644
index 301c4a8..0000000
--- a/c-bindings/src/cache/factory.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Standard headers
-#include <memory>
-#include <string>
-
-// C++ client public headers
-#include "geode/CacheFactory.hpp"
-
-// C client public headers
-#include "geode/client.h"
-
-// C client private headers
-#include "auth_initialize.hpp"
-#include "client.hpp"
-
-class CacheFactoryWrapper : public ClientKeeper {
-  apache::geode::client::CacheFactory cacheFactory_;
-  std::shared_ptr<AuthInitializeWrapper> authInit_;
-
- public:
-  CacheFactoryWrapper();
-
-  ~CacheFactoryWrapper();
-
-  const char* getVersion();
-
-  const char* getProductDescription();
-
-  void setPdxIgnoreUnreadFields(bool pdxIgnoreUnreadFields);
-
-  void setAuthInitialize(void (*getCredentials)(apache_geode_properties_t*),
-                         void (*close)());
-
-  void setPdxReadSerialized(bool pdxReadSerialized);
-
-  void setProperty(const std::string& key, const std::string& value);
-
-  CacheWrapper* createCache();
-};
diff --git a/c-bindings/src/client.cpp b/c-bindings/src/client.cpp
deleted file mode 100644
index 59195cb..0000000
--- a/c-bindings/src/client.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Standard headers
-#include <iostream>
-#include <string>
-#include <utility>
-
-// C++ client public headers
-#include "geode/Exception.hpp"
-
-// C++ client private headers
-#include "util/Log.hpp"
-
-// C client public headers
-#include "geode/client.h"
-
-// C client private headers
-#include "client.hpp"
-
-std::shared_ptr<ClientWrapper>& PermaClient::instance() {
-  static auto client_ = std::make_shared<ClientWrapper>();
-  return client_;
-}
-
-apache_geode_client_t* apache_geode_ClientInitialize() {
-  return reinterpret_cast<apache_geode_client_t*>(
-      PermaClient::instance().get());
-}
-
-int apache_geode_ClientUninitialize(apache_geode_client_t* client) {
-  try {
-    const int result = PermaClient::instance()->checkForLeaks();
-    return result;
-  } catch (...) {
-    return -1;
-  }
-  return 0;
-}
-
-void Client::AddRecord(void* value, const std::string& className) {
-  do_AddRecord(value, className);
-}
-
-void Client::RemoveRecord(void* value) { do_RemoveRecord(value); }
-
-void ClientKeeper::do_AddRecord(void* value, const std::string& className) {
-  PermaClient::instance()->AddRecord(value, className);
-}
-
-void ClientKeeper::do_RemoveRecord(void* value) {
-  PermaClient::instance()->RemoveRecord(value);
-}
-
-int ClientWrapper::checkForLeaks() {
-  int result = 0;
-  if (!registry_.empty()) {
-    for (auto recordPair : registry_) {
-      auto object = recordPair.first;
-      auto record = recordPair.second;
-
-      LOGERROR("Leaked object of type \"%s\" (pointer value %p), callstack %s",
-               record.className.c_str(), object,
-               record.allocationCallstack.c_str());
-      result = -1;
-    }
-  }
-  return result;
-}
-
-void ClientWrapper::do_AddRecord(void* value, const std::string& className) {
-  using apache::geode::client::Exception;
-
-  registry_.insert({value, {className, Exception("").getStackTrace()}});
-}
-
-void ClientWrapper::do_RemoveRecord(void* value) { registry_.erase(value); }
-
-ClientWrapper::~ClientWrapper() { std::cout << "Geode client shut down...\n"; }
diff --git a/c-bindings/src/client.hpp b/c-bindings/src/client.hpp
deleted file mode 100644
index 638e696..0000000
--- a/c-bindings/src/client.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <map>
-#include <string>
-#include <memory>
-
-#include "geode/internal/geode_base.h"
-
-// All wrappers are passed their creator object for retention.
-// The parent objects implement this interface.
-class Client {
-  virtual void do_AddRecord(void *, const std::string &) = 0;
-  virtual void do_RemoveRecord(void *) = 0;
-
- public:
-  // All wrappers call this in their constructors.
-  void AddRecord(void *, const std::string &);
-  // All wrappers call this in their destructors.
-  void RemoveRecord(void *);
-};
-
-// Anything that creates another wrapper derives from this.
-// Adding and removing from this defers to the parent retained within.
-class ClientKeeper : public Client {
-  void do_AddRecord(void *, const std::string &) final override;
-  void do_RemoveRecord(void *) final override;
-};
-
-// This is the top level parent. Adding and removing from any client will
-// ultimately add and remove from an instance of this. This is the client
-// object the user creates from the C interface. Because the wrappers form a
-// hierarchy, it's very important to destroy them in reverse order along that
-// hierarchy.
-class ClientWrapper : public Client {
-  struct ClientObjectRecord {
-    std::string className;
-    std::string allocationCallstack;
-  };
-
-  typedef std::map<void *, ClientObjectRecord> ClientObjectRegistry;
-
-  ClientObjectRegistry registry_;
-
-  void do_AddRecord(void *, const std::string &) final override;
-  void do_RemoveRecord(void *) final override;
-
- public:
-  int checkForLeaks();
-
-  virtual ~ClientWrapper();
-};
-
-class PermaClient {
- public:
-    static std::shared_ptr<ClientWrapper> &instance();
-};
\ No newline at end of file
diff --git a/c-bindings/src/pool.cpp b/c-bindings/src/pool.cpp
deleted file mode 100644
index c6fac7a..0000000
--- a/c-bindings/src/pool.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Standard headers
-#include <memory>
-
-// C++ public headers
-#include "geode/Pool.hpp"
-
-// C client public headers
-#include "geode/pool.h"
-
-// C client private headers
-#include "pool.hpp"
-#include "pool/factory.hpp"
-
-void apache_geode_DestroyPool(apache_geode_pool_t* pool) {
-  PoolWrapper* poolWrapper = reinterpret_cast<PoolWrapper*>(pool);
-  delete poolWrapper;
-}
-
-PoolWrapper::PoolWrapper(std::shared_ptr<apache::geode::client::Pool> pool)
-    : pool_(pool) {
-  AddRecord(this, "PoolWrapper");
-}
-
-PoolWrapper::~PoolWrapper() { RemoveRecord(this); }
\ No newline at end of file
diff --git a/c-bindings/src/pool.hpp b/c-bindings/src/pool.hpp
deleted file mode 100644
index 36b5f8b..0000000
--- a/c-bindings/src/pool.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <memory>
-
-#include "client.hpp"
-#include "geode/Pool.hpp"
-
-class PoolFactoryWrapper;
-class PoolWrapper : public ClientKeeper {
-  std::shared_ptr<apache::geode::client::Pool> pool_;
-
- public:
-  explicit PoolWrapper(std::shared_ptr<apache::geode::client::Pool> pool);
-  ~PoolWrapper();
-};
diff --git a/c-bindings/src/pool/factory.cpp b/c-bindings/src/pool/factory.cpp
deleted file mode 100644
index 8b4a8a7..0000000
--- a/c-bindings/src/pool/factory.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Standard headers
-#include <cstdint>
-#include <string>
-
-// C client public headers
-#include "geode/pool/factory.h"
-
-// C client private headers
-#include "pool.hpp"
-#include "pool/factory.hpp"
-#include "pool/manager.hpp"
-
-apache_geode_pool_t* apache_geode_PoolFactory_CreatePool(
-    apache_geode_pool_factory_t* poolFactory, const char* name) {
-  PoolFactoryWrapper* poolFactoryWrapper =
-      reinterpret_cast<PoolFactoryWrapper*>(poolFactory);
-  return reinterpret_cast<apache_geode_pool_t*>(
-      poolFactoryWrapper->CreatePool(name));
-}
-
-void apache_geode_PoolFactory_AddLocator(
-    apache_geode_pool_factory_t* poolFactory, const char* hostname,
-    const std::uint16_t port) {
-  PoolFactoryWrapper* poolFactoryWrapper =
-      reinterpret_cast<PoolFactoryWrapper*>(poolFactory);
-  poolFactoryWrapper->AddLocator(hostname, port);
-}
-
-void apache_geode_DestroyPoolFactory(apache_geode_pool_factory_t* poolFactory) {
-  PoolFactoryWrapper* poolFactoryWrapper =
-      reinterpret_cast<PoolFactoryWrapper*>(poolFactory);
-  delete poolFactoryWrapper;
-}
-
-PoolFactoryWrapper::PoolFactoryWrapper(
-    apache::geode::client::PoolFactory poolFactory)
-    : poolFactory_(poolFactory) {
-  AddRecord(this, "PoolFactoryWrapper");
-}
-
-PoolFactoryWrapper::~PoolFactoryWrapper() { RemoveRecord(this); }
-
-PoolWrapper* PoolFactoryWrapper::CreatePool(const char* name) {
-  return new PoolWrapper(poolFactory_.create(name));
-}
-
-void PoolFactoryWrapper::AddLocator(const std::string& hostname,
-                                    const std::uint16_t port) {
-  poolFactory_.addLocator(hostname, port);
-}
diff --git a/c-bindings/src/pool/factory.hpp b/c-bindings/src/pool/factory.hpp
deleted file mode 100644
index 970af4d..0000000
--- a/c-bindings/src/pool/factory.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <cstdint>
-#include <string>
-
-#include "geode/PoolFactory.hpp"
-#include "client.hpp"
-
-class PoolWrapper;
-class PoolManagerWrapper;
-
-class PoolFactoryWrapper: public ClientKeeper {
-  apache::geode::client::PoolFactory poolFactory_;
-
- public:
-  explicit PoolFactoryWrapper(apache::geode::client::PoolFactory poolFactory);
-  ~PoolFactoryWrapper();
-
-  PoolWrapper* CreatePool(const char* name);
-
-  void AddLocator(const std::string& hostname, std::uint16_t port);
-};
diff --git a/c-bindings/src/pool/manager.cpp b/c-bindings/src/pool/manager.cpp
deleted file mode 100644
index ffe348d..0000000
--- a/c-bindings/src/pool/manager.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// C client public headers
-#include "geode/pool/manager.h"
-
-// C client private headers
-#include "cache.hpp"
-#include "client.hpp"
-#include "pool/factory.hpp"
-#include "pool/manager.hpp"
-
-apache_geode_pool_factory_t* apache_geode_PoolManager_CreateFactory(
-    apache_geode_pool_manager_t* poolManager) {
-  PoolManagerWrapper* poolManagerWrapper =
-      reinterpret_cast<PoolManagerWrapper*>(poolManager);
-  return reinterpret_cast<apache_geode_pool_factory_t*>(
-      poolManagerWrapper->CreatePoolFactory());
-}
-
-void apache_geode_DestroyPoolManager(apache_geode_pool_manager_t* poolManager) {
-  PoolManagerWrapper* poolManagerWrapper =
-      reinterpret_cast<PoolManagerWrapper*>(poolManager);
-  delete poolManagerWrapper;
-}
-
-PoolManagerWrapper::PoolManagerWrapper(
-    CacheWrapper* cache, apache::geode::client::PoolManager& poolManager)
-    : poolManager_(poolManager) {
-  AddRecord(this, "PoolManagerWrapper");
-}
-
-PoolManagerWrapper::~PoolManagerWrapper() { RemoveRecord(this); }
-
-PoolFactoryWrapper* PoolManagerWrapper::CreatePoolFactory() {
-  return new PoolFactoryWrapper(poolManager_.createFactory());
-}
diff --git a/c-bindings/src/pool/manager.hpp b/c-bindings/src/pool/manager.hpp
deleted file mode 100644
index 00a351d..0000000
--- a/c-bindings/src/pool/manager.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include "geode/PoolManager.hpp"
-
-class PoolFactoryWrapper;
-class CacheWrapper;
-
-class PoolManagerWrapper: public ClientKeeper {
-  apache::geode::client::PoolManager& poolManager_;
-
- public:
-  PoolManagerWrapper(CacheWrapper *cache, apache::geode::client::PoolManager& poolManager);
-  ~PoolManagerWrapper();
-
-  PoolFactoryWrapper* CreatePoolFactory();
-};
diff --git a/c-bindings/src/region.cpp b/c-bindings/src/region.cpp
deleted file mode 100644
index 500506b..0000000
--- a/c-bindings/src/region.cpp
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Standard headers
-#include <memory>
-#include <string>
-
-#ifdef _WIN32
-#include <objbase.h>
-#endif  // _WIN32
-
-// C++ client public headers
-#include "geode/CacheableString.hpp"
-#include "geode/Region.hpp"
-#include "geode/RegionShortcut.hpp"
-
-// C client public headers
-#include "geode/region.h"
-#include "geode/region/factory.h"
-
-// C client private headers
-#include "region.hpp"
-#include "region/factory.hpp"
-
-RegionWrapper::RegionWrapper(
-    std::shared_ptr<apache::geode::client::Region> region)
-    : region_(region) {
-  AddRecord(this, "RegionWrapper");
-}
-
-RegionWrapper::~RegionWrapper() { RemoveRecord(this); }
-
-void RegionWrapper::PutString(const std::string& key,
-                              const std::string& value) {
-  region_->put(key, value);
-}
-
-void RegionWrapper::PutByteArray(const std::string& key, const char* value,
-                                 size_t size) {
-  std::vector<int8_t> val(value, value + size);
-  region_->put(key, apache::geode::client::CacheableBytes::create(val));
-}
-
-const char* RegionWrapper::GetString(const std::string& key) {
-  auto value = region_->get(key);
-  lastValue_ =
-      std::dynamic_pointer_cast<apache::geode::client::CacheableString>(value)
-          ->value();
-  return lastValue_.c_str();
-}
-
-void RegionWrapper::GetByteArray(const std::string& key, char** value,
-                                 size_t* size) {
-  std::shared_ptr<apache::geode::client::Serializable> val = region_->get(key);
-
-  if (val.get() == nullptr) return;
-
-  auto bytes =
-      std::dynamic_pointer_cast<apache::geode::client::CacheableBytes>(val);
-  int valSize = val->objectSize();
-#if defined(_WIN32)
-  int8_t* byteArray = static_cast<int8_t*>(CoTaskMemAlloc(valSize));
-#else
-  int8_t* byteArray = static_cast<int8_t*>(malloc(valSize));
-#endif
-  if (bytes) {
-    memcpy(byteArray, bytes->value().data(), valSize);
-    *value = reinterpret_cast<char*>(byteArray);
-    *size = valSize;
-  }
-}
-
-void RegionWrapper::Remove(const std::string& key) { region_->remove(key); }
-
-bool RegionWrapper::ContainsValueForKey(const std::string& key) {
-  return region_->containsValueForKey(key);
-}
-
-void apache_geode_DestroyRegion(apache_geode_region_t* region) {
-  RegionWrapper* regionWrapper = reinterpret_cast<RegionWrapper*>(region);
-  delete regionWrapper;
-}
-
-void apache_geode_Region_PutString(apache_geode_region_t* region,
-                                   const char* key, const char* value) {
-  RegionWrapper* regionWrapper = reinterpret_cast<RegionWrapper*>(region);
-  regionWrapper->PutString(key, value);
-}
-
-void apache_geode_Region_PutByteArray(apache_geode_region_t* region,
-                                      const char* key, const char* value,
-                                      size_t size) {
-  RegionWrapper* regionWrapper = reinterpret_cast<RegionWrapper*>(region);
-  regionWrapper->PutByteArray(key, value, size);
-}
-
-const char* apache_geode_Region_GetString(apache_geode_region_t* region,
-                                          const char* key) {
-  RegionWrapper* regionWrapper = reinterpret_cast<RegionWrapper*>(region);
-  return regionWrapper->GetString(key);
-}
-
-void apache_geode_Region_GetByteArray(apache_geode_region_t* region,
-                                      const char* key, char** value,
-                                      size_t* size) {
-  RegionWrapper* regionWrapper = reinterpret_cast<RegionWrapper*>(region);
-  return regionWrapper->GetByteArray(key, value, size);
-}
-
-void apache_geode_Region_Remove(apache_geode_region_t* region,
-                                const char* key) {
-  RegionWrapper* regionWrapper = reinterpret_cast<RegionWrapper*>(region);
-  return regionWrapper->Remove(key);
-}
-
-bool apache_geode_Region_ContainsValueForKey(apache_geode_region_t* region,
-                                             const char* key) {
-  RegionWrapper* regionWrapper = reinterpret_cast<RegionWrapper*>(region);
-  return regionWrapper->ContainsValueForKey(key);
-}
diff --git a/c-bindings/src/region.hpp b/c-bindings/src/region.hpp
deleted file mode 100644
index 603a2c7..0000000
--- a/c-bindings/src/region.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <string>
-#include <memory>
-
-#include "client.hpp"
-#include "geode/Region.hpp"
-
-class RegionFactoryWrapper;
-
-class RegionWrapper : public ClientKeeper {
-  std::shared_ptr<apache::geode::client::Region> region_;
-  std::string lastValue_;
-
- public:
-  explicit RegionWrapper(std::shared_ptr<apache::geode::client::Region> region);
-  ~RegionWrapper();
-
-  void PutString(const std::string& key, const std::string& value);
-
-  void PutByteArray(const std::string& key, const char* value, size_t size);
-
-  const char* GetString(const std::string& key);
-
-  void GetByteArray(const std::string& key, char** value, size_t* size);
-
-  void Remove(const std::string& key);
-
-  bool ContainsValueForKey(const std::string& key);
-};
diff --git a/c-bindings/src/region/factory.cpp b/c-bindings/src/region/factory.cpp
deleted file mode 100644
index f5ff13f..0000000
--- a/c-bindings/src/region/factory.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Standard headers
-#include <string>
-#include <utility>
-
-// C++ client public headers
-#include "geode/RegionFactory.hpp"
-
-// C client public headers
-#include "geode/region.h"
-#include "geode/region/factory.h"
-
-// C client private headers
-#include "cache.hpp"
-#include "region.hpp"
-#include "region/factory.hpp"
-
-RegionFactoryWrapper::RegionFactoryWrapper(
-    CacheWrapper* cache, apache::geode::client::RegionFactory regionFactory)
-    : regionFactory_(std::move(regionFactory)) {
-  AddRecord(this, "RegionFactoryWrapper");
-}
-
-RegionFactoryWrapper::~RegionFactoryWrapper() { RemoveRecord(this); }
-
-void RegionFactoryWrapper::setPoolName(const std::string& poolName) {
-  regionFactory_.setPoolName(poolName);
-}
-
-RegionWrapper* RegionFactoryWrapper::createRegion(
-    const std::string& regionName) {
-  return new RegionWrapper(regionFactory_.create(regionName));
-}
-
-void apache_geode_DestroyRegionFactory(
-    apache_geode_region_factory_t* regionFactory) {
-  delete reinterpret_cast<RegionFactoryWrapper*>(regionFactory);
-}
-
-void apache_geode_RegionFactory_SetPoolName(
-    apache_geode_region_factory_t* regionFactory, const char* poolName) {
-  RegionFactoryWrapper* regionFactoryWrapper =
-      reinterpret_cast<RegionFactoryWrapper*>(regionFactory);
-  regionFactoryWrapper->setPoolName(poolName);
-}
-apache_geode_region_t* apache_geode_RegionFactory_CreateRegion(
-    apache_geode_region_factory_t* regionFactory, const char* regionName) {
-  RegionFactoryWrapper* regionFactoryWrapper =
-      reinterpret_cast<RegionFactoryWrapper*>(regionFactory);
-  return reinterpret_cast<apache_geode_region_t*>(
-      regionFactoryWrapper->createRegion(regionName));
-}
diff --git a/c-bindings/src/region/factory.hpp b/c-bindings/src/region/factory.hpp
deleted file mode 100644
index ded2243..0000000
--- a/c-bindings/src/region/factory.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <string>
-
-#include "geode/RegionFactory.hpp"
-#include "client.hpp"
-
-class RegionWrapper;
-class CacheWrapper;
-
-class RegionFactoryWrapper: public ClientKeeper {
-  apache::geode::client::RegionFactory regionFactory_;
-
- public:
-  RegionFactoryWrapper(CacheWrapper *, apache::geode::client::RegionFactory regionFactory);
-  ~RegionFactoryWrapper();
-
-  void setPoolName(const std::string& poolName);
-
-  RegionWrapper* createRegion(const std::string& regionName);
-};
diff --git a/c-bindings/symbols b/c-bindings/symbols
deleted file mode 100644
index 0f15796..0000000
--- a/c-bindings/symbols
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-apache_geode_*
\ No newline at end of file
diff --git a/c-bindings/symbols.version b/c-bindings/symbols.version
deleted file mode 100644
index 42ad881..0000000
--- a/c-bindings/symbols.version
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-V0 {
-  global:
-    apache_geode_*;
-  local:
-    *;
-};
\ No newline at end of file
diff --git a/ci/lib/templates.lib.yml b/ci/lib/templates.lib.yml
index b38e580..f372806 100644
--- a/ci/lib/templates.lib.yml
+++ b/ci/lib/templates.lib.yml
@@ -221,8 +221,6 @@
     - #@ remote_task("net-integration-tests", config.config, ctest_bash_task("build/clicache/integration-test2"), "1h", build.params)
     - #@ remote_task("net-legacy-integration-tests", config.config, ctest_bash_task("build/clicache/integration-test", timeout=500, parallel=4), "2h", build.params)
     #@ end
-    - #@ remote_task("netcore-integration-test", config.config, ctest_bash_task("build/netcore/netcore-integration-test", config.config, parallel=1), "10m", build.params)
-    - #@ remote_task("netcore-session-integration-test", config.config, ctest_bash_task("build/netcore/netcore-session-integration-test", parallel=1), "10m", build.params)
     on_failure:
       in_parallel:
         steps:
diff --git a/netcore/.clang-format b/netcore/.clang-format
deleted file mode 100644
index 750c3c7..0000000
--- a/netcore/.clang-format
+++ /dev/null
@@ -1,3 +0,0 @@
----
-Language:        CSharp
-BasedOnStyle:  Google
diff --git a/netcore/.gitignore b/netcore/.gitignore
deleted file mode 100644
index e89c87b..0000000
--- a/netcore/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/*/bin/
-/*/obj/
-/*/build/
-
diff --git a/netcore/CMakeLists.txt b/netcore/CMakeLists.txt
deleted file mode 100644
index 0caa268..0000000
--- a/netcore/CMakeLists.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-project(netcore LANGUAGES NONE)
-
-option(INCLUDE_DOTNET_CORE "Build .NET Core client." ON)
-
-find_program(DOTNET dotnet)
-
-if(DOTNET AND INCLUDE_DOTNET_CORE)
-  add_subdirectory(netcore-lib)
-  add_subdirectory(netcore-session)
-  add_subdirectory(netcore-integration-test)
-  add_subdirectory(netcore-session-integration-test)
-  add_subdirectory(utility)
-  add_subdirectory(shared)
-endif()
-
diff --git a/netcore/asp-netcore-session-sample/AspNetCore GeodeSession Sample.csproj.user b/netcore/asp-netcore-session-sample/AspNetCore GeodeSession Sample.csproj.user
deleted file mode 100644
index 9dd7dfa..0000000
--- a/netcore/asp-netcore-session-sample/AspNetCore GeodeSession Sample.csproj.user
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <ActiveDebugProfile>IIS Express</ActiveDebugProfile>
-  </PropertyGroup>
-</Project>
diff --git a/netcore/asp-netcore-session-sample/Extensions/SessionExtensions.cs b/netcore/asp-netcore-session-sample/Extensions/SessionExtensions.cs
deleted file mode 100644
index 367ee56..0000000
--- a/netcore/asp-netcore-session-sample/Extensions/SessionExtensions.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System.Text.Json;
-using Microsoft.AspNetCore.Http;
-
-namespace Web.Extensions {
-#region snippet1
-  public static class SessionExtensions {
-    public static void Set<T>(this ISession session, string key, T value) {
-      session.SetString(key, JsonSerializer.Serialize(value));
-    }
-
-    public static T Get<T>(this ISession session, string key) {
-      var value = session.GetString(key);
-      return value == null ? default : JsonSerializer.Deserialize<T>(value);
-    }
-  }
-#endregion
-}
-
-namespace Web.Extensions2 {
-  // Alternate approach
-
-  public static class SessionExtensions {
-    public static void Set<T>(this ISession session, string key, T value) {
-      session.SetString(key, JsonSerializer.Serialize(value));
-    }
-
-    public static bool TryGet<T>(this ISession session, string key, out T value) {
-      var state = session.GetString(key);
-      value = default;
-      if (state == null) {
-        return false;
-      }
-      value = JsonSerializer.Deserialize<T>(state);
-      return true;
-    }
-  }
-}
diff --git a/netcore/asp-netcore-session-sample/Middleware/HttpContextItemsMiddleware.cs b/netcore/asp-netcore-session-sample/Middleware/HttpContextItemsMiddleware.cs
deleted file mode 100644
index 8b7ca4b..0000000
--- a/netcore/asp-netcore-session-sample/Middleware/HttpContextItemsMiddleware.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Builder;
-using Microsoft.AspNetCore.Http;
-
-namespace SessionSample.Middleware {
-#region snippet1
-  public class HttpContextItemsMiddleware {
-    private readonly RequestDelegate _next;
-    public static readonly object HttpContextItemsMiddlewareKey = new Object();
-
-    public HttpContextItemsMiddleware(RequestDelegate next) {
-      _next = next;
-    }
-
-    public async Task Invoke(HttpContext httpContext) {
-      httpContext.Items[HttpContextItemsMiddlewareKey] = "K-9";
-
-      await _next(httpContext);
-    }
-  }
-
-  public static class HttpContextItemsMiddlewareExtensions {
-    public static IApplicationBuilder UseHttpContextItemsMiddleware(this IApplicationBuilder app) {
-      return app.UseMiddleware<HttpContextItemsMiddleware>();
-    }
-  }
-#endregion
-}
diff --git a/netcore/asp-netcore-session-sample/Models/BasicAuthInitialize.cs b/netcore/asp-netcore-session-sample/Models/BasicAuthInitialize.cs
deleted file mode 100644
index 067d41d..0000000
--- a/netcore/asp-netcore-session-sample/Models/BasicAuthInitialize.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.Geode.Client;
-using System;
-using System.Collections.Generic;
-
-namespace GemFireSessionState.Models
-{
-  public class BasicAuthInitialize : IAuthInitialize
-  {
-    private string _username;
-    private string _password;
-
-    public BasicAuthInitialize(string username, string password)
-    {
-      _username = username;
-      _password = password;
-    }
-
-    public void Close()
-    {
-    }
-
-    public Dictionary<string, string> GetCredentials()
-    {
-      Console.WriteLine("SimpleAuthInitialize::GetCredentials called");
-      var credentials = new Dictionary<string, string>();
-      credentials.Add("security-username", "root");
-      credentials.Add("security-password", "root-password");
-      return credentials;
-    }
-  }
-}
diff --git a/netcore/asp-netcore-session-sample/Models/ErrorViewModel.cs b/netcore/asp-netcore-session-sample/Models/ErrorViewModel.cs
deleted file mode 100644
index 49f70ef..0000000
--- a/netcore/asp-netcore-session-sample/Models/ErrorViewModel.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-
-namespace SessionSample.Models
-{
-  public class ErrorViewModel
-  {
-  }
-}
diff --git a/netcore/asp-netcore-session-sample/Pages/Error.cshtml b/netcore/asp-netcore-session-sample/Pages/Error.cshtml
deleted file mode 100644
index 7e0919b..0000000
--- a/netcore/asp-netcore-session-sample/Pages/Error.cshtml
+++ /dev/null
@@ -1,42 +0,0 @@
-@*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *@
-@page
-@model ErrorModel
-@{
-  ViewData["Title"] = "Error";
-}
-
-<h1 class="text-danger">Error.</h1>
-<h2 class="text-danger">An error occurred while processing your request.</h2>
-
-@if (Model.ShowRequestId)
-{
-  <p>
-    <strong>Request ID:</strong> <code>@Model.RequestId</code>
-  </p>
-}
-
-<h3>Development Mode</h3>
-<p>
-  Swapping to the <strong>Development</strong> environment displays detailed information about the error that occurred.
-</p>
-<p>
-  <strong>The Development environment shouldn't be enabled for deployed applications.</strong>
-  It can result in displaying sensitive information from exceptions to end users.
-  For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
-  and restarting the app.
-</p>
diff --git a/netcore/asp-netcore-session-sample/Pages/Error.cshtml.cs b/netcore/asp-netcore-session-sample/Pages/Error.cshtml.cs
deleted file mode 100644
index b6245b6..0000000
--- a/netcore/asp-netcore-session-sample/Pages/Error.cshtml.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Linq;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-
-namespace SessionSample.Pages {
-  [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
-  public class ErrorModel : PageModel {
-    public string RequestId { get; set; }
-
-    public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
-
-    public void OnGet() {
-      RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
-    }
-  }
-}
diff --git a/netcore/asp-netcore-session-sample/Pages/Index.cshtml b/netcore/asp-netcore-session-sample/Pages/Index.cshtml
deleted file mode 100644
index 47bcf75..0000000
--- a/netcore/asp-netcore-session-sample/Pages/Index.cshtml
+++ /dev/null
@@ -1,99 +0,0 @@
-@*
-  * Licensed to the Apache Software Foundation (ASF) under one or more
-  * contributor license agreements.  See the NOTICE file distributed with
-  * this work for additional information regarding copyright ownership.
-  * The ASF licenses this file to You under the Apache License, Version 2.0
-  * (the "License"); you may not use this file except in compliance with
-  * the License.  You may obtain a copy of the License at
-  *
-  *      http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software
-  * distributed under the License is distributed on an "AS IS" BASIS,
-  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  * See the License for the specific language governing permissions and
-  * limitations under the License.
-*@
-@page
-@using Microsoft.AspNetCore.Http
-@model IndexModel
-@{
-  ViewData["Title"] = "Asp.Net Core Session Sample";
-}
-
-<h1>@ViewData["Title"]</h1>
-
-<h2>State management</h2>
-
-<div class="row">
-  <div class="col-md-8">
-    <form method="post">
-      <div class="panel panel-default">
-        <div class="panel-heading">
-          <button type="submit" asp-page-handler="ChangeAge" class="pull-right btn btn-danger">Change Age</button>
-          <h3 class="panel-title" style="line-height:2.1">Name and Age</h3>
-        </div>
-        <div class="panel-body">
-          <p>
-            The name and age are stored in session. Select the <span style="font-weight:bold">Change Age</span>
-            button to update the session to a new random age value.
-          </p>
-          <p>
-            Session values by the model with
-            <code>@@Model.&lt;PropertyName&gt;</code>:
-          </p>
-          <p><b>Name:</b> @Model.SessionInfo_Name <b>Age:</b> @Model.SessionInfo_Age</p>
-          <hr>
-          <p>Session values direct </p>
-          <p>
-            <b>Name:</b> @HttpContext.Session.GetString(IndexModel.SessionKeyName)
-            <b>Age:</b>
-            @HttpContext.Session.GetInt32(IndexModel.SessionKeyAge).ToString()
-          </p>
-        </div>
-      </div>
-    </form>
-  </div>
-</div>
-
-<div class="row">
-  <div class="col-md-8">
-    <div class="panel panel-default">
-      <div class="panel-heading">
-        <h3 class="panel-title">HttpContext.Items Middleware Value</h3>
-      </div>
-      <div class="panel-body">
-        <p>
-          The middleware value is set into the <code>HttpContext.Items</code> collection by
-          the <code>HttpContextItemsMiddleware</code> before Razor Pages processes the request.
-          The value is retreived by the page and displayed.
-        </p>
-        <p>Value: @Model.SessionInfo_MiddlewareValue</p>
-      </div>
-    </div>
-  </div>
-</div>
-
-<div class="row">
-  <div class="col-md-8">
-    <form method="post">
-      <div class="panel panel-default">
-        <div class="panel-heading clearfix">
-          <button type="submit" asp-page-handler="UpdateSessionDate" class="pull-right btn btn-danger">Update Session Time</button>
-          <a href="/" class="pull-right btn btn-danger" style="margin-right:5px">Reload Page (No Update)</a>
-          <h3 class="panel-title" style="line-height:2.1">Session Time</h3>
-        </div>
-        <div class="panel-body">
-          <p>
-            The session time is stored in session. Select the <span style="font-weight:bold">
-              Reload Page (No Update)
-            </span> button to display the current time and the time stored in session.
-            Select the <span style="font-weight:bold">Update Session Time</span> button to store the current time in session.
-          </p>
-          <p>Current Time: @Model.SessionInfo_CurrentTime</p>
-          <p>Session Time: @Model.SessionInfo_SessionTime</p>
-        </div>
-      </div>
-    </form>
-  </div>
-</div>
diff --git a/netcore/asp-netcore-session-sample/Pages/Index.cshtml.cs b/netcore/asp-netcore-session-sample/Pages/Index.cshtml.cs
deleted file mode 100644
index 723979e..0000000
--- a/netcore/asp-netcore-session-sample/Pages/Index.cshtml.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-using System;
-using Microsoft.AspNetCore.Http;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-using SessionSample.Middleware;
-using Web.Extensions;
-
-namespace SessionSample.Pages {
-  public class IndexModel : PageModel {
-    public const string SessionKeyName = "_Name";
-    public const string SessionKeyAge = "_Age";
-    const string SessionKeyTime = "_Time";
-
-    public string SessionInfo_Name { get; private set; }
-    public string SessionInfo_Age { get; private set; }
-    public string SessionInfo_CurrentTime { get; private set; }
-    public string SessionInfo_SessionTime { get; private set; }
-    public string SessionInfo_MiddlewareValue { get; private set; }
-
-    public void OnGet() {
-      // Requires: using Microsoft.AspNetCore.Http;
-      if (string.IsNullOrEmpty(HttpContext.Session.GetString(SessionKeyName))) {
-        HttpContext.Session.SetString(SessionKeyName, "The Doctor");
-        HttpContext.Session.SetInt32(SessionKeyAge, 35);
-      }
-
-      var name = HttpContext.Session.GetString(SessionKeyName);
-      var age = HttpContext.Session.GetInt32(SessionKeyAge);
-      SessionInfo_Name = name;
-      SessionInfo_Age = age.ToString();
-
-      var currentTime = DateTime.Now;
-
-      // Requires SessionExtensions from sample download.
-      if (HttpContext.Session.Get<DateTime>(SessionKeyTime) == default) {
-        HttpContext.Session.Set<DateTime>(SessionKeyTime, currentTime);
-      }
-
-      SessionInfo_CurrentTime = currentTime.ToString("H:mm:ss tt");
-      SessionInfo_SessionTime =
-          HttpContext.Session.Get<DateTime>(SessionKeyTime).ToString("H:mm:ss tt");
-
-      HttpContext.Items.TryGetValue(HttpContextItemsMiddleware.HttpContextItemsMiddlewareKey,
-                                    out var middlewareSetValue);
-      SessionInfo_MiddlewareValue = middlewareSetValue?.ToString() ?? "Middleware value not set!";
-    }
-
-    public IActionResult OnPostUpdateSessionDate() {
-      HttpContext.Session.Set<DateTime>(SessionKeyTime, DateTime.Now);
-
-      return RedirectToPage();
-    }
-
-    public IActionResult OnPostChangeAge() {
-      var r = new Random();
-
-      HttpContext.Session.SetInt32(SessionKeyAge, r.Next(35, 65));
-
-      return RedirectToPage();
-    }
-  }
-}
diff --git a/netcore/asp-netcore-session-sample/Pages/Shared/_Layout.cshtml b/netcore/asp-netcore-session-sample/Pages/Shared/_Layout.cshtml
deleted file mode 100644
index 4465c65..0000000
--- a/netcore/asp-netcore-session-sample/Pages/Shared/_Layout.cshtml
+++ /dev/null
@@ -1,237 +0,0 @@
-@*
-  * Licensed to the Apache Software Foundation (ASF) under one or more
-  * contributor license agreements.  See the NOTICE file distributed with
-  * this work for additional information regarding copyright ownership.
-  * The ASF licenses this file to You under the Apache License, Version 2.0
-  * (the "License"); you may not use this file except in compliance with
-  * the License.  You may obtain a copy of the License at
-  *
-  *      http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software
-  * distributed under the License is distributed on an "AS IS" BASIS,
-  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  * See the License for the specific language governing permissions and
-  * limitations under the License.
-*@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta charset="utf-8">
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <title>@ViewData["Title"]</title>
-  <style>
-	body {
-	margin: 0;
-	padding-bottom: 20px;
-	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-	font-size: 14px;
-	line-height: 1.42857143;
-	color: #333;
-	background-color: #fff;
-	}
-
-	h1 {
-	font-size: 24px;
-	margin: .67em 0;
-	}
-
-	pre {
-	overflow: auto;
-	}
-
-	code, pre {
-	font-family: monospace, monospace;
-	font-size: 1em;
-	}
-
-	button, input {
-	margin: 0;
-	font: inherit;
-	color: inherit;
-	}
-
-	button {
-	overflow: visible;
-	}
-
-	button {
-	text-transform: none;
-	}
-
-	input {
-	line-height: normal;
-	}
-
-	{
-	box-sizing: border-box;
-	}
-
-	:before, *:after {
-	box-sizing: border-box;
-	}
-
-	input, button {
-	font-family: inherit;
-	font-size: inherit;
-	line-height: inherit;
-	}
-
-	a {
-	color: #337ab7;
-	text-decoration: none;
-	}
-
-	h1, h2, h3, h4 {
-	font-family: inherit;
-	font-weight: 500;
-	line-height: 1.1;
-	color: inherit;
-	margin-top: 20px;
-	margin-bottom: 10px;
-	}
-
-	h3 {
-	font-size: 16px;
-	}
-
-	h4 {
-	font-size: 18px;
-	}
-
-	p {
-	margin: 0 0 10px;
-	}
-
-	ol {
-	margin-top: 0;
-	margin-bottom: 10px;
-	}
-
-	code, pre {
-	font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
-	}
-
-	code {
-	padding: 2px 4px;
-	font-size: 90%;
-	color: #c7254e;
-	background-color: #f9f2f4;
-	border-radius: 4px;
-	}
-
-	pre {
-	display: block;
-	padding: 9.5px;
-	margin: 0 0 10px;
-	font-size: 13px;
-	line-height: 1.42857143;
-	color: #333;
-	word-break: break-all;
-	word-wrap: break-word;
-	background-color: #f5f5f5;
-	border: 1px solid #ccc;
-	-radius: 4px;
-	}
-
-	pre code {
-	padding: 0;
-	font-size: inherit;
-	color: inherit;
-	white-space: pre-wrap;
-	background-color: transparent;
-	border-radius: 0;
-	}
-
-	.container {
-	padding-right: 15px;
-	padding-left: 15px;
-	margin-right: auto;
-	margin-left: auto;
-	}
-
-	.container {
-	width: 800px;
-	}
-
-	.btn {
-	display: inline-block;
-	padding: 6px 12px;
-	margin-bottom: 0;
-	font-size: 14px;
-	font-weight: normal;
-	line-height: 1.42857143;
-	text-align: center;
-	white-space: nowrap;
-	vertical-align: middle;
-	background-image: none;
-	border: 1px solid transparent;
-	border-radius: 4px;
-	;
-	color: #fff;
-	background-color: green;
-	border-color: gray;
-	float: right
-	}
-
-	.panel {
-	margin-bottom: 20px;
-	background-color: #fff;
-	border: 1px solid transparent;
-	border-radius: 4px;
-	box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
-	}
-
-	.panel-body {
-	padding: 15px;
-	}
-
-	.panel-heading {
-	padding: 10px 15px;
-	border-bottom: 1px solid transparent;
-	border-top-left-radius: 3px;
-	border-top-right-radius: 3px;
-	}
-
-	.panel-title {
-	margin-top: 0;
-	margin-bottom: 0;
-	font-size: 16px;
-	color: inherit;
-	}
-
-	.panel-default {
-	border-color: #ddd;
-	}
-
-	.panel-default > .panel-heading {
-	color: #333;
-	background-color: #f5f5f5;
-	border-color: #ddd;
-	}
-
-	.clearfix:before, .clearfix:after, .container:before, .container:after, .panel-body:before, .panel-body:after {
-	display: table;
-	content: " ";
-	}
-
-	.clearfix:after, .container:after, .panel-body:after {
-	clear: both;
-	}
-
-	.body-content {
-	padding-left: 15px;
-	padding-right: 15px;
-	}
-
-	.panel-body {
-	font-size: 16px;
-	}
-  </style>
-</head>
-<body>
-  <div class="container body-content">
-    @RenderBody()
-  </div>
-</body>
-</html>
diff --git a/netcore/asp-netcore-session-sample/Pages/_ViewImports.cshtml b/netcore/asp-netcore-session-sample/Pages/_ViewImports.cshtml
deleted file mode 100644
index 7bf76d4..0000000
--- a/netcore/asp-netcore-session-sample/Pages/_ViewImports.cshtml
+++ /dev/null
@@ -1,19 +0,0 @@
-@*
-  * Licensed to the Apache Software Foundation (ASF) under one or more
-  * contributor license agreements.  See the NOTICE file distributed with
-  * this work for additional information regarding copyright ownership.
-  * The ASF licenses this file to You under the Apache License, Version 2.0
-  * (the "License"); you may not use this file except in compliance with
-  * the License.  You may obtain a copy of the License at
-  *
-  *      http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software
-  * distributed under the License is distributed on an "AS IS" BASIS,
-  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  * See the License for the specific language governing permissions and
-  * limitations under the License.
-*@
-@using SessionSample
-@namespace SessionSample.Pages
-@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
diff --git a/netcore/asp-netcore-session-sample/Pages/_ViewStart.cshtml b/netcore/asp-netcore-session-sample/Pages/_ViewStart.cshtml
deleted file mode 100644
index 7e03e6d..0000000
--- a/netcore/asp-netcore-session-sample/Pages/_ViewStart.cshtml
+++ /dev/null
@@ -1,19 +0,0 @@
-@*
-  * Licensed to the Apache Software Foundation (ASF) under one or more
-  * contributor license agreements.  See the NOTICE file distributed with
-  * this work for additional information regarding copyright ownership.
-  * The ASF licenses this file to You under the Apache License, Version 2.0
-  * (the "License"); you may not use this file except in compliance with
-  * the License.  You may obtain a copy of the License at
-  *
-  *      http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software
-  * distributed under the License is distributed on an "AS IS" BASIS,
-  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  * See the License for the specific language governing permissions and
-  * limitations under the License.
-*@
-@{
-  Layout = "_Layout";
-}
diff --git a/netcore/asp-netcore-session-sample/Program.cs b/netcore/asp-netcore-session-sample/Program.cs
deleted file mode 100644
index 4495aab..0000000
--- a/netcore/asp-netcore-session-sample/Program.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Microsoft.AspNetCore;
-using Microsoft.AspNetCore.Hosting;
-
-namespace SessionSample {
-  public class Program {
-    public static void Main(string[] args) {
-      CreateWebHostBuilder(args).Build().Run();
-    }
-
-    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
-        WebHost.CreateDefaultBuilder(args).UseStartup<Startup>();
-  }
-}
diff --git a/netcore/asp-netcore-session-sample/Properties/launchSettings.json b/netcore/asp-netcore-session-sample/Properties/launchSettings.json
deleted file mode 100644
index 5fdcaca..0000000
--- a/netcore/asp-netcore-session-sample/Properties/launchSettings.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-  "iisSettings": {
-	"windowsAuthentication": false,
-	"anonymousAuthentication": true,
-	"iisExpress": {
-	  "applicationUrl": "http://localhost:50795/",
-	  "sslPort": 44315
-	}
-  },
-  "profiles": {
-	"IIS Express": {
-	  "commandName": "IISExpress",
-	  "launchBrowser": true,
-	  "environmentVariables": {
-		"ASPNETCORE_ENVIRONMENT": "Development"
-	  },
-	  "nativeDebugging": true
-	},
-	"SessionSample": {
-	  "commandName": "Project",
-	  "launchBrowser": true,
-	  "environmentVariables": {
-		"ASPNETCORE_ENVIRONMENT": "Development"
-	  },
-	  "applicationUrl": "https://localhost:5001;http://localhost:5000"
-	}
-  }
-}
diff --git a/netcore/asp-netcore-session-sample/README.md b/netcore/asp-netcore-session-sample/README.md
deleted file mode 100644
index 38b0a9b..0000000
--- a/netcore/asp-netcore-session-sample/README.md
+++ /dev/null
@@ -1,58 +0,0 @@
-You can configure GeodeDistributedCache as a distributed cache for your ASP.NET Core application using either of the options described below.
-
----
-NetCore-Session provides the AddGeodeDistributedCache() extension method on IServiceCollection, which requires just an Apache Geode region name and any optional configurations to store the sessions. 
-
-There are two methods to specify configurations:
-1. Through your application in Startup.cs or
-2. In JSON format in Appsettings.json of your application.
-   
-## Method 1: Specifying Configurations In Startup.cs
-
-The AddGeodeSessionStateCache() method is an extension of the AddDistributedCache() method provided by ASP.NET Core. This method takes configuration settings in Startup.cs of your application, or reads them from the specified JSON file.
-
-Add the following method and options in Startup.cs of your application:
-
-```c#
-public void ConfigureServices(IServiceCollection services)
-{
-    //Add framework services
-    services.AddMvc();
-
-    services.AddGeodeSessionStateCache(configuration =>
-    {
-        configuration.RegionName = "geodeSessionState";
-    });
-}
-```
-
-## Method 2: Specifying Configurations In appsettings.json
-You can also specify the configuration in JSON format using the appsettings.json file for your application. Using this method, you can refer to the configurations by providing the name of the section containing JSON format configurations in Startup.cs.
-
-appsettings.json:
-
-```json
-{
-  "AppSettings": {
-    "SiteTitle": "ASP.NET Core SessionState Sample App"
-  },
-
-  "GeodeSessionStateCache": {
-    "RegionName": "geodeSessionState",
-    "Host": "localhost",
-    "Port": 10334
-  }
-}
-```
-
-The ConfigureServices member of the Startup class can be used as follows to retrieve the GeodeSessionStateCache settings from the JSON file:
-
-```c#
-public void ConfigureServices(IServiceCollection services)
-{
-  ...
-  services.Configure<GeodeSessionStateCacheOptions>(
-    Configuration.GetSection("GeodeSessionStateCache"));
-  ...
-}
-```
diff --git a/netcore/asp-netcore-session-sample/Startup.cs b/netcore/asp-netcore-session-sample/Startup.cs
deleted file mode 100644
index cb9ada2..0000000
--- a/netcore/asp-netcore-session-sample/Startup.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.Geode.Session;
-using Microsoft.AspNetCore.Builder;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Logging;
-using Microsoft.Extensions.Hosting;
-using SessionSample.Middleware;
-using Microsoft.Extensions.Caching.Distributed;
-using System;
-
-namespace SessionSample {
-  public class Startup {
-    public Startup(IConfiguration configuration) {
-      Configuration = configuration;
-    }
-
-    public IConfiguration Configuration { get; }
-    public ILoggerFactory LoggerFactory { get; }
-
-    public void ConfigureServices(IServiceCollection services) {
-      services.Add(ServiceDescriptor.Singleton<IDistributedCache, GeodeSessionStateCache>());
-
-      services.AddSession(options => {
-        options.IdleTimeout = TimeSpan.FromSeconds(5);
-        options.Cookie.HttpOnly = true;
-        options.Cookie.IsEssential = true;
-      });
-
-      // Configure Method 1: Using extension method:
-      services.AddGeodeSessionStateCache(configuration => {
-        configuration.Host = "localhost";
-        configuration.Port = 10334;
-        configuration.RegionName = "geodeSessionState";
-      });
-
-      // Configure Method 2: Using appsettings.json:
-      // services.Configure<GeodeSessionStateCacheOptions>(
-      //    Configuration.GetSection("GeodeSessionStateCache"));
-
-      services.AddControllersWithViews();
-      services.AddRazorPages();
-    }
-
-    public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
-      if (env.IsDevelopment()) {
-        app.UseDeveloperExceptionPage();
-      } else {
-        app.UseExceptionHandler("/Home/Error");
-        app.UseHsts();
-      }
-
-      app.UseStaticFiles();
-      app.UseRouting();
-      app.UseHttpContextItemsMiddleware();
-      app.UseSession();
-      app.UseEndpoints(endpoints => {
-        endpoints.MapDefaultControllerRoute();
-        endpoints.MapRazorPages();
-      });
-    }
-  }
-}
diff --git a/netcore/asp-netcore-session-sample/appsettings.Development.json b/netcore/asp-netcore-session-sample/appsettings.Development.json
deleted file mode 100644
index 0623a3f..0000000
--- a/netcore/asp-netcore-session-sample/appsettings.Development.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "Logging": {
-    "LogLevel": {
-      "Default": "Debug",
-      "System": "Information",
-      "Microsoft": "Information"
-    }
-  }
-}
diff --git a/netcore/asp-netcore-session-sample/appsettings.Production.json b/netcore/asp-netcore-session-sample/appsettings.Production.json
deleted file mode 100644
index 8af1e1f..0000000
--- a/netcore/asp-netcore-session-sample/appsettings.Production.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "Logging": {
-    "LogLevel": {
-      "Default": "Error",
-      "System": "Information",
-      "Microsoft": "Information"
-    }
-  }
-}
diff --git a/netcore/asp-netcore-session-sample/appsettings.json b/netcore/asp-netcore-session-sample/appsettings.json
deleted file mode 100644
index 8205b26..0000000
--- a/netcore/asp-netcore-session-sample/appsettings.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-  "Logging": {
-	"LogLevel": {
-	  "Default": "Warning"
-	}
-  },
-  "AllowedHosts": "*",
-  "AppSettings": {
-	"SiteTitle": "ASP.NET Core Geode SessionState Sample App"
-  },
-
-  "GeodeSessionStateCache": {
-	"RegionName": "geodeSessionState",
-	"Host": "localhost",
-	"Port": 10334
-  }
-}
diff --git a/netcore/asp-netcore-session-sample/asp-netcore-session-sample.csproj b/netcore/asp-netcore-session-sample/asp-netcore-session-sample.csproj
deleted file mode 100644
index 347da91..0000000
--- a/netcore/asp-netcore-session-sample/asp-netcore-session-sample.csproj
+++ /dev/null
@@ -1,28 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp3.1</TargetFramework>
-    <Platforms>x64</Platforms>
-	<Configurations>Debug;RelWithDebInfo</Configurations>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\netcore-session\netcore-session.csproj" />
-  </ItemGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-	<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-	<WarningsAsErrors />
-	<DebugType>pdbonly</DebugType>
-	<DebugSymbols>true</DebugSymbols>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">
-	<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-	<WarningsAsErrors />
-	<Optimize>true</Optimize>
-	<DebugType>pdbonly</DebugType>
-	<DebugSymbols>true</DebugSymbols>
-  </PropertyGroup>
-
-</Project>
diff --git a/netcore/cmake/remove_dirs.cmake b/netcore/cmake/remove_dirs.cmake
deleted file mode 100644
index e63d3dd..0000000
--- a/netcore/cmake/remove_dirs.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-##
-# FindGeode CMake find module.
-##
-file(REMOVE_RECURSE locator server auth_locator auth_server)
diff --git a/netcore/netcore-integration-test/CMakeLists.txt b/netcore/netcore-integration-test/CMakeLists.txt
deleted file mode 100644
index 6a01fe7..0000000
--- a/netcore/netcore-integration-test/CMakeLists.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-project(netcore-test LANGUAGES NONE)
-
-add_custom_target(netcore-integration-test ALL 
-  COMMAND ${DOTNET} build netcore-integration-test.csproj -p:platform=x64 --configuration $<CONFIG>
-  COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:apache-geode-c> ${CMAKE_CURRENT_SOURCE_DIR}/bin/x64/$<CONFIG>/netcoreapp3.1/
-  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS apache-geode-c netcore-lib netcore-utility VERBATIM)
-
-enable_testing()
-
-set(AUTH_OPTS "--J=-Dgemfire.security-username=server --J=-Dgemfire.security-password=server --classpath=$<SHELL_PATH:${CMAKE_CURRENT_BINARY_DIR}/../utility/netcore-utility.jar>")
-set(AUTH_LOCATOR_OPTS "${AUTH_OPTS} --J=-Dgemfire.security-manager=javaobject.SimpleSecurityManager")
-
-add_test(NAME netcore-test 
-  COMMAND dotnet test -c $<CONFIG> -p:platform=x64
-  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
-
diff --git a/netcore/netcore-integration-test/CacheFactoryTest.cs b/netcore/netcore-integration-test/CacheFactoryTest.cs
deleted file mode 100644
index 18ae8d4..0000000
--- a/netcore/netcore-integration-test/CacheFactoryTest.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using Xunit;
-using Xunit.Abstractions;
-
-namespace Apache.Geode.Client.IntegrationTests
-{
-  [Collection("Geode .Net Core Collection")]
-  public class CacheFactoryTest : TestBase {
-    public CacheFactoryTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper)
-    {
-    }
-
-    [Fact]
-    public void CreateFactoryNotNull() {
-      using (var cacheFactory = CacheFactory.Create()) {
-        Assert.NotNull(cacheFactory);
-      }
-    }
-
-    [Fact]
-    public void CacheFactoryGetVersion() {
-      using (var cacheFactory = CacheFactory.Create()) {
-        var version = cacheFactory.Version;
-        Assert.NotEqual(version, String.Empty);
-      }
-    }
-
-    [Fact]
-    public void CacheFactoryGetProductDescription() {
-      using (var cacheFactory = CacheFactory.Create()) {
-        var description = cacheFactory.ProductDescription;
-        Assert.NotEqual(description, String.Empty);
-      }
-    }
-
-    [Fact]
-    public void CacheFactorySetPdxIgnoreUnreadFields() {
-      using (var cacheFactory = CacheFactory.Create()) {
-        cacheFactory.PdxIgnoreUnreadFields = true;
-        cacheFactory.PdxIgnoreUnreadFields = false;
-      }
-    }
-
-    [Fact]
-    public void CacheFactorySetPdxReadSerialized() {
-      using (var cacheFactory = CacheFactory.Create()) {
-        cacheFactory.PdxReadSerialized = true;
-        cacheFactory.PdxReadSerialized = false;
-      }
-    }
-
-    [Fact]
-    public void CacheFactoryCreateCacheNotNull() {
-      using var cacheFactory = CacheFactory.Create();
-      Assert.NotNull(cacheFactory);
-      using var cache = cacheFactory.CreateCache();  // lgtm[cs / useless - assignment - to - local]
-      Assert.NotNull(cache);
-    }
-
-    [Fact]
-    public void CacheFactorySetProperty() {
-      using var cacheFactory = CacheFactory.Create();
-      Assert.NotNull(cacheFactory);
-      cacheFactory.SetProperty("log-level", "none").SetProperty("log-file", "geode_native.log");
-    }
-  }
-}
diff --git a/netcore/netcore-integration-test/CacheTest.cs b/netcore/netcore-integration-test/CacheTest.cs
deleted file mode 100644
index f35d181..0000000
--- a/netcore/netcore-integration-test/CacheTest.cs
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Net.Cache;
-using Xunit;
-
-namespace Apache.Geode.Client.IntegrationTests {
-  [Collection("Geode .Net Core Collection")]
-  public class CacheTest {
-    [Fact]
-    public void ClientCacheGetPdxReadSerialized() {
-      using var cacheFactory =
-          CacheFactory.Create()
-              .SetProperty("log-level", "debug")
-              .SetProperty("log-file", "TestClientCacheGetPdxReadSerialized.log");
-      try {
-        cacheFactory.PdxReadSerialized = true;
-        using var cache = cacheFactory.CreateCache();
-
-        Assert.True(cache.GetPdxReadSerialized());
-
-        cacheFactory.PdxReadSerialized = false;
-        using var otherCache = cacheFactory.CreateCache();
-
-        Assert.False(otherCache.GetPdxReadSerialized());
-      } catch (Exception e) {
-        Console.WriteLine(e);
-        throw;
-      }
-    }
-
-    [Fact]
-    public void ClientCacheGetPdxIgnoreUnreadFields() {
-      using var cacheFactory = CacheFactory.Create()
-                                   .SetProperty("log-level", "none")
-                                   .SetProperty("log-file", "geode_native.log");
-      cacheFactory.PdxIgnoreUnreadFields = true;
-      using var cache = cacheFactory.CreateCache();
-
-      Assert.True(cache.GetPdxIgnoreUnreadFields());
-
-      cacheFactory.PdxIgnoreUnreadFields = false;
-      using var otherCache = cacheFactory.CreateCache();
-      Assert.False(otherCache.GetPdxIgnoreUnreadFields());
-    }
-
-    [Fact]
-    public void ClientCacheGetPoolManagerObjectsNotNull() {
-      using var cacheFactory = CacheFactory.Create()
-                                   .SetProperty("log-level", "none")
-                                   .SetProperty("log-file", "geode_native.log");
-
-      cacheFactory.PdxIgnoreUnreadFields = true;
-      using var cache = cacheFactory.CreateCache();  // lgtm [cs/useless-assignment-to-local]
-      Assert.NotNull(cache);
-      using var poolManager = cache.PoolManager;
-      Assert.NotNull(poolManager);
-    }
-
-    [Fact]
-    public void ClientCacheCreateRegionFactoryObjectsNotNull() {
-      using var cacheFactory = CacheFactory.Create()
-                                   .SetProperty("log-level", "none")
-                                   .SetProperty("log-file", "geode_native.log");
-      Assert.NotNull(cacheFactory);
-      cacheFactory.PdxIgnoreUnreadFields = true;
-      using var cache = cacheFactory.CreateCache();
-      Assert.NotNull(cache);
-      using var regionFactory = cache.CreateRegionFactory(
-          RegionShortcut.Proxy);  // lgtm[cs / useless - assignment - to - local]
-      Assert.NotNull(regionFactory);
-    }
-
-    [Fact]
-    public void ClientCacheGetName() {
-      using var cacheFactory = CacheFactory.Create().SetProperty("log-level", "none");
-      cacheFactory.PdxIgnoreUnreadFields = true;
-      using var cache = cacheFactory.CreateCache();
-      Assert.NotNull(cache);
-
-      var cacheName = cache.Name;
-      Assert.NotEqual(cacheName, String.Empty);
-    }
-
-    [Fact]
-    public void ClientCacheClose() {
-      using var cacheFactory = CacheFactory.Create().SetProperty("log-level", "none");
-      cacheFactory.PdxIgnoreUnreadFields = true;
-      using var cache = cacheFactory.CreateCache();
-      Assert.NotNull(cache);
-
-      Assert.False(cache.Closed);
-      cache.Close();
-      Assert.True(cache.Closed);
-    }
-
-    [Fact]
-    public void ClientCacheCloseWithKeepalive() {
-      using var cacheFactory = CacheFactory.Create().SetProperty("log-level", "none");
-      cacheFactory.PdxIgnoreUnreadFields = true;
-      using var cache = cacheFactory.CreateCache();
-      Assert.NotNull(cache);
-
-      Assert.False(cache.Closed);
-      cache.Close(true);
-      Assert.True(cache.Closed);
-
-      using var otherCache = cacheFactory.CreateCache();
-      Assert.NotNull(otherCache);
-
-      Assert.False(otherCache.Closed);
-      otherCache.Close(false);
-      Assert.True(otherCache.Closed);
-    }
-  }
-}
diff --git a/netcore/netcore-integration-test/NetCoreCollectionFixture.cs b/netcore/netcore-integration-test/NetCoreCollectionFixture.cs
deleted file mode 100644
index f2cf3ee..0000000
--- a/netcore/netcore-integration-test/NetCoreCollectionFixture.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using Apache.Geode.Client;
-using Xunit;
-
-public class NetCoreCollectionFixture : IDisposable {
-  public NetCoreCollectionFixture() {
-    client_ = new Client();
-  }
-  public void Dispose() {
-    client_.Dispose();
-  }
-
-  Client client_;
-}
-
-[CollectionDefinition("Geode .Net Core Collection")]
-public class NetCoreCollection : ICollectionFixture<NetCoreCollectionFixture> {}
diff --git a/netcore/netcore-integration-test/NetCoreTestFixture.cs b/netcore/netcore-integration-test/NetCoreTestFixture.cs
deleted file mode 100644
index 992a7b3..0000000
--- a/netcore/netcore-integration-test/NetCoreTestFixture.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using Xunit;
-using Xunit.Abstractions;
-using Apache.Geode.Client.IntegrationTests;
-
-namespace Apache.Geode.Client.IntegrationTests
-{
-  public class NetCoreTestFixture : IDisposable
-  {
-    internal Cluster cluster;
-    public ITestOutputHelper Output { get; set; }
-
-    public NetCoreTestFixture SetOutPut(ITestOutputHelper output)
-    {
-      Output = output;
-      return this;
-    }
-
-    public void CreateCluster()
-    {
-      if (cluster == null)
-      {
-        cluster = new Cluster(Output, "NetCoreTests", 1, 1);
-
-        Assert.True(cluster.Start());
-        Assert.Equal(0, cluster.Gfsh
-            .create()
-            .region()
-            .withName("exampleRegion")
-            .withType("PARTITION")
-            .execute());
-
-        Assert.Equal(0, cluster.Gfsh
-            .create()
-            .region()
-            .withName("authExampleRegion")
-            .withType("PARTITION")
-            .execute());
-      }
-    }
-
-    public void Dispose()
-    {
-      // At this point, the last test has executed and the ITestOutputHelper is
-      // no longer available. Hence set the output to null in the cluster.
-      cluster.Gfsh.Output = null;
-      cluster.Dispose();
-      Output = null;
-    }
-  }
-}
diff --git a/netcore/netcore-integration-test/ObjectLeakTest.cs b/netcore/netcore-integration-test/ObjectLeakTest.cs
deleted file mode 100644
index c87daee..0000000
--- a/netcore/netcore-integration-test/ObjectLeakTest.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using Xunit;
-
-namespace Apache.Geode.Client.IntegrationTests {
-  [Collection("Geode .Net Core Collection")]
-  public class ObjectLeakTest {
-    [Fact]
-    public void LeakCacheFactoryVerifyThrows() {
-      var client = new Client();
-
-      using (var cacheFactory =
-                 CacheFactory.Create())  // lgtm[cs / useless - assignment - to - local]
-      {
-        Assert.Throws<InvalidOperationException>(() => client.Dispose());
-      }
-    }
-  }
-}
diff --git a/netcore/netcore-integration-test/PoolFactoryTest.cs b/netcore/netcore-integration-test/PoolFactoryTest.cs
deleted file mode 100644
index 1bbc02b..0000000
--- a/netcore/netcore-integration-test/PoolFactoryTest.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System.Net.Cache;
-using Xunit;
-
-namespace Apache.Geode.Client.IntegrationTests {
-  [Collection("Geode .Net Core Collection")]
-  public class PoolFactoryTest {
-    [Fact]
-    public void PoolFactoryAddLocatorAllObjectsNotNull() {
-      using var cacheFactory = CacheFactory.Create()
-                                   .SetProperty("log-level", "none")
-                                   .SetProperty("log-file", "geode_native.log");
-      using var cache = cacheFactory.CreateCache();
-      Assert.NotNull(cache);
-      using var poolManager = cache.PoolManager;
-      Assert.NotNull(poolManager);
-      using var poolFactory = poolManager.CreatePoolFactory();
-      Assert.NotNull(poolFactory);
-
-      poolFactory.AddLocator("localhost", 10334);
-    }
-
-    [Fact]
-    public void PoolFactoryCreatePoolAllObjectsNotNull() {
-      using var cacheFactory = CacheFactory.Create()
-                                   .SetProperty("log-level", "none")
-                                   .SetProperty("log-file", "geode_native.log");
-      using var cache = cacheFactory.CreateCache();
-      Assert.NotNull(cache);
-      using var poolManager = cache.PoolManager;
-      Assert.NotNull(poolManager);
-      using var poolFactory = poolManager.CreatePoolFactory();
-      Assert.NotNull(poolFactory);
-
-      poolFactory.AddLocator("localhost", 10334);
-      using var pool =
-          poolFactory.CreatePool("myPool");  // lgtm[cs / useless - assignment - to - local]
-      Assert.NotNull(pool);
-    }
-
-    [Fact]
-    public void CreatePoolWithoutPoolManagerAllObjectsNotNull() {
-      using var cacheFactory = CacheFactory.Create();
-      Assert.NotNull(cacheFactory);
-      using var cache = cacheFactory.CreateCache();
-      Assert.NotNull(cache);
-      using var poolFactory = cache.PoolFactory;
-      Assert.NotNull(poolFactory);
-
-      poolFactory.AddLocator("localhost", 10334);
-      using var pool =
-          poolFactory.CreatePool("myPool");  // lgtm[cs / useless - assignment - to - local]
-      Assert.NotNull(pool);
-    }
-  }
-}
diff --git a/netcore/netcore-integration-test/PoolManagerTest.cs b/netcore/netcore-integration-test/PoolManagerTest.cs
deleted file mode 100644
index 19e3ddd..0000000
--- a/netcore/netcore-integration-test/PoolManagerTest.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System.Net.Cache;
-using Xunit;
-
-namespace Apache.Geode.Client.IntegrationTests {
-  [Collection("Geode .Net Core Collection")]
-  public class PoolManagerTest {
-    [Fact]
-    public void PoolManagerCreatePoolFactoryAllObjectsNotNull() {
-      using var cacheFactory = CacheFactory.Create();
-      Assert.NotNull(cacheFactory);
-      using var cache = cacheFactory.CreateCache();
-      Assert.NotNull(cache);
-      using var poolManager = cache.PoolManager;
-      Assert.NotNull(poolManager);
-      using var poolFactory =
-          poolManager.CreatePoolFactory();  // lgtm[cs / useless - assignment - to - local]
-      Assert.NotNull(poolFactory);
-    }
-  }
-}
diff --git a/netcore/netcore-integration-test/Properties/launchSettings.json b/netcore/netcore-integration-test/Properties/launchSettings.json
deleted file mode 100644
index 525b032..0000000
--- a/netcore/netcore-integration-test/Properties/launchSettings.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "profiles": {
-    "GemfireDotNetTest": {
-      "commandName": "Project",
-      "nativeDebugging": true
-    }
-  }
-}
diff --git a/netcore/netcore-integration-test/RegionFactoryTest.cs b/netcore/netcore-integration-test/RegionFactoryTest.cs
deleted file mode 100644
index edac8ad..0000000
--- a/netcore/netcore-integration-test/RegionFactoryTest.cs
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Collections.Generic;
-using System.Net.Cache;
-using Xunit;
-using Xunit.Abstractions;
-
-namespace Apache.Geode.Client.IntegrationTests {
-  public class SimpleAuthInitialize : IAuthInitialize {
-    public Dictionary<string, string> GetCredentials() {
-      Console.WriteLine("SimpleAuthInitialize::GetCredentials called");
-      var credentials = new Dictionary<string, string>();
-      credentials.Add("security-username", "server");
-      credentials.Add("security-password", "server");
-      return credentials;
-    }
-
-    public void Close() {
-      Console.WriteLine("SimpleAuthInitialize::Close called");
-    }
-  }
-
-  [Collection("Geode .Net Core Collection")]
-  public class RegionFactoryTest : TestBase, IClassFixture<NetCoreTestFixture>
-  {
-    NetCoreTestFixture fixture;
-
-    public RegionFactoryTest(NetCoreTestFixture fixture, ITestOutputHelper testOutputHelper) : base(testOutputHelper)
-    {
-      this.fixture = fixture;
-      this.fixture.Output = testOutputHelper;
-      this.fixture.CreateCluster();
-    }
-
-    private const string Username1 = "rtimmons";
-    private const string Username2 = "scharles";
-
-    private void createPool(IGeodeCache cache, int port) {
-      using var poolManager = cache.PoolManager;
-      using var poolFactory = poolManager.CreatePoolFactory().AddLocator("localhost", port);
-      using var pool =
-          poolFactory.CreatePool("myPool");  // lgtm[cs / useless - assignment - to - local]
-    }
-
-    private void doPutsAndGets(Region region) {
-      var fullname1 = "Robert Timmons";
-      var fullname2 = "Sylvia Charles";
-
-      region.PutString(Username1, fullname1);
-      region.PutString(Username2, fullname2);
-
-      var user1 = region.GetString(Username1);
-      var user2 = region.GetString(Username2);
-
-      Assert.Equal(user1, fullname1);
-      Assert.Equal(user2, fullname2);
-    }
-
-    private void DoRemoves(Region region) {
-      region.Remove(Username1);
-      region.Remove(Username2);
-
-      var hasUser1 = region.ContainsValueForKey(Username1);
-      var hasUser2 = region.ContainsValueForKey(Username2);
-
-      Assert.False(hasUser1);
-      Assert.False(hasUser2);
-    }
-
-    private void CreateRegionAndDoWork(IGeodeCache cache, string regionName,
-                                       RegionShortcut regionType) {
-      using var regionFactory = cache.CreateRegionFactory(regionType);
-      using var region = regionFactory.CreateRegion(regionName);
-
-      doPutsAndGets(region);
-      DoRemoves(region);
-    }
-
-    [Fact]
-    public void RegionFactoryCreateProxyRegionStringPutGet() {
-        using var cacheFactory = CacheFactory.Create()
-                                     .SetProperty("log-level", "debug")
-                                     .SetProperty("log-file", "geode_native.log");
-        using var cache = cacheFactory.CreateCache();
-
-        using var pool = fixture.cluster.ApplyLocators(cache.PoolFactory)
-                    .CreatePool("myPool");
-
-        CreateRegionAndDoWork(cache, "exampleRegion", RegionShortcut.Proxy);
-    }
-
-    [Fact]
-    public void RegionFactoryCreateRegionStringPutGetWithAuthentication() {
-
-        using var cacheFactory = CacheFactory.Create()
-                                   .SetProperty("log-level", "debug")
-                                   .SetProperty("log-file", "geode_native_with_auth.log");
-      cacheFactory.AuthInitialize = new SimpleAuthInitialize();
-      using var cache = cacheFactory.CreateCache();
-
-      using var pool = fixture.cluster.ApplyLocators(cache.PoolFactory)
-                    .CreatePool("myPool");
-
-        CreateRegionAndDoWork(cache, "authExampleRegion", RegionShortcut.CachingProxy);
-    }
-  }
-}
diff --git a/netcore/netcore-integration-test/netcore-integration-test.csproj b/netcore/netcore-integration-test/netcore-integration-test.csproj
deleted file mode 100644
index ac8be9a..0000000
--- a/netcore/netcore-integration-test/netcore-integration-test.csproj
+++ /dev/null
@@ -1,53 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-      <TargetFramework>netcoreapp3.1</TargetFramework>
-      <IsPackable>false</IsPackable>
-      <Platforms>x64</Platforms>
-      <Configurations>Debug;RelWithDebInfo</Configurations>
-  </PropertyGroup>
-
-  <ItemGroup>
-	<Compile Include="..\shared\Config.cs" Link="Config.cs" />
-	<Compile Include="..\shared\Cluster.cs" Link="Cluster.cs" />
-	<Compile Include="..\shared\Gfsh.cs" Link="Gfsh.cs" />
-	<Compile Include="..\shared\Framework.cs" Link="Framework.cs" />
-	<Compile Include="..\shared\GfshExecute.cs" Link="GfshExecute.cs" />
-	<Compile Include="..\shared\TestBase.cs" Link="TestBase.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
-      <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
-      <PackageReference Include="xunit" Version="2.4.1" />
-      <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
-        <PrivateAssets>all</PrivateAssets>
-        <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
-      </PackageReference>
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\netcore-lib\netcore-lib.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <None Update="xunit.runner.json">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-  </ItemGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-	<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-	<WarningsAsErrors />
-	<DebugType>pdbonly</DebugType>
-	<DebugSymbols>true</DebugSymbols>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">
-	<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-	<WarningsAsErrors />
-	<Optimize>true</Optimize>
-	<DebugType>pdbonly</DebugType>
-	<DebugSymbols>true</DebugSymbols>
-  </PropertyGroup>
-
-</Project>
diff --git a/netcore/netcore-integration-test/xunit.runner.json b/netcore/netcore-integration-test/xunit.runner.json
deleted file mode 100644
index f8b2eef..0000000
--- a/netcore/netcore-integration-test/xunit.runner.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "methodDisplay": "classAndMethod",
-  "parallelizeAssembly": true,
-  "parallelizeTestCollections": true
-}
diff --git a/netcore/netcore-lib/AuthInitialize.cs b/netcore/netcore-lib/AuthInitialize.cs
deleted file mode 100644
index d1e6024..0000000
--- a/netcore/netcore-lib/AuthInitialize.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System.Collections.Generic;
-
-namespace Apache.Geode.Client {
-  public interface IAuthInitialize {
-    Dictionary<string, string> GetCredentials();
-    void Close();
-  }
-}
diff --git a/netcore/netcore-lib/CMakeLists.txt b/netcore/netcore-lib/CMakeLists.txt
deleted file mode 100644
index ea13083..0000000
--- a/netcore/netcore-lib/CMakeLists.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-project(netcore-lib LANGUAGES NONE)
-
-add_custom_target(netcore-lib ALL COMMAND ${DOTNET} build netcore-lib.csproj -p:platform=x64 --configuration $<CONFIG>
-  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS apache-geode-c VERBATIM)
-
-if (WIN32)
-  install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bin/x64/$<CONFIG>/netcoreapp3.1/Apache.Geode.NetCore.dll DESTINATION ./bin)
-else ()
-  install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bin/x64/$<CONFIG>/netcoreapp3.1/Apache.Geode.NetCore.dll DESTINATION ./lib)
-endif()
-
diff --git a/netcore/netcore-lib/Cache.cs b/netcore/netcore-lib/Cache.cs
deleted file mode 100644
index 200e740..0000000
--- a/netcore/netcore-lib/Cache.cs
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Collections.Generic;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-namespace Apache.Geode.Client {
-  public class Cache : GeodeNativeObject, IGeodeCache {
-    private static string _name = String.Empty;
-    private PoolManager _poolManager = null;
-    private PoolFactory _poolFactory = null;
-    private IAuthInitialize _authInitialize;
-    private GetCredentialsDelegateInternal _getCredentialsDelegate;
-    private CloseDelegateInternal _closeDelegate;
-
-    internal delegate void GetCredentialsDelegateInternal(IntPtr cache);
-
-    internal delegate void CloseDelegateInternal();
-
-    [DllImport(Constants.libPath, CallingConvention = CallingConvention.Cdecl)]
-    private static extern void apache_geode_CacheFactory_SetAuthInitialize(
-        IntPtr factory, GetCredentialsDelegateInternal getCredentials,
-        CloseDelegateInternal close);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_CacheFactory_CreateCache(IntPtr factory);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern bool apache_geode_Cache_GetPdxIgnoreUnreadFields(IntPtr cache);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern bool apache_geode_Cache_GetPdxReadSerialized(IntPtr cache);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_Cache_GetName(IntPtr cache);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern void apache_geode_Cache_Close(IntPtr cache, bool keepalive);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern bool apache_geode_Cache_IsClosed(IntPtr cache);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern bool apache_geode_AuthInitialize_AddProperty(IntPtr properties,
-                                                                       IntPtr key,
-                                                                       IntPtr value);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern void apache_geode_DestroyCache(IntPtr cache);
-
-    internal Cache(IntPtr cacheFactory, IAuthInitialize authInitialize) {
-      _authInitialize = authInitialize;
-      if (_authInitialize != null) {
-        _getCredentialsDelegate = new GetCredentialsDelegateInternal(AuthGetCredentials);
-        _closeDelegate = new CloseDelegateInternal(AuthClose);
-
-        apache_geode_CacheFactory_SetAuthInitialize(cacheFactory, _getCredentialsDelegate,
-                                                    _closeDelegate);
-      }
-      _containedObject = apache_geode_CacheFactory_CreateCache(cacheFactory);
-    }
-
-    internal void AuthGetCredentials(IntPtr properties) {
-      Console.WriteLine("In AuthInitialize::GetCredentials callback");
-      if (_authInitialize == null) {
-        throw new InvalidOperationException(
-            "AuthInitialize callback received for cache without authentication!");
-      }
-
-      var credentials = _authInitialize.GetCredentials();
-      foreach (KeyValuePair<string, string> entry in credentials) {
-        Console.WriteLine("Found credential: (k, v) = ({0}, {1})", entry.Key, entry.Value);
-        var keyPtr = Marshal.StringToCoTaskMemUTF8(entry.Key);
-        var valuePtr = Marshal.StringToCoTaskMemUTF8(entry.Value);
-        apache_geode_AuthInitialize_AddProperty(properties, keyPtr, valuePtr);
-        Marshal.FreeCoTaskMem(keyPtr);
-        Marshal.FreeCoTaskMem(valuePtr);
-      }
-    }
-
-    public void AuthClose() {
-      Console.WriteLine("In AuthInitialize::Close callback");
-    }
-
-    public void Close() {
-      apache_geode_Cache_Close(_containedObject, false);
-    }
-
-    public void Close(bool keepalive) {
-      apache_geode_Cache_Close(_containedObject, keepalive);
-    }
-
-    public bool GetPdxIgnoreUnreadFields() {
-      return apache_geode_Cache_GetPdxIgnoreUnreadFields(_containedObject);
-    }
-
-    public bool GetPdxReadSerialized() {
-      return apache_geode_Cache_GetPdxReadSerialized(_containedObject);
-    }
-
-    public string Name {
-      get {
-        if (_name == String.Empty) {
-          _name = Marshal.PtrToStringUTF8(apache_geode_Cache_GetName(_containedObject));
-        }
-
-        return _name;
-      }
-    }
-
-    public PoolManager PoolManager {
-      get {
-        if (_poolManager == null) {
-          _poolManager = new PoolManager(_containedObject);
-        }
-
-        return _poolManager;
-      }
-    }
-
-    public PoolFactory PoolFactory {
-      get {
-        if (_poolFactory == null) {
-          _poolFactory = PoolManager.CreatePoolFactory();
-        }
-
-        return _poolFactory;
-      }
-    }
-
-    public RegionFactory CreateRegionFactory(RegionShortcut regionType) {
-      return new RegionFactory(_containedObject, regionType);
-    }
-
-    public bool Closed => apache_geode_Cache_IsClosed(_containedObject);
-
-    protected override void DestroyContainedObject() {
-      // It turns out, C# "wrapper" objects need to get rid of
-      // *all* contained objects, due to vagaries of Geode
-      // Native object graph, in order to ensure a leak-free
-      // shutdown.  We get rid of our non-cache objects first
-      // here, in case it makes a difference.
-      _poolManager?.Dispose();
-      _poolManager = null;
-      _poolFactory?.Dispose();
-      _poolFactory = null;
-      apache_geode_DestroyCache(_containedObject);
-      _containedObject = IntPtr.Zero;
-    }
-  }
-}
diff --git a/netcore/netcore-lib/CacheFactory.cs b/netcore/netcore-lib/CacheFactory.cs
deleted file mode 100644
index 5588e3c..0000000
--- a/netcore/netcore-lib/CacheFactory.cs
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace Apache.Geode.Client {
-  public class CacheFactory : GeodeNativeObject, ICacheFactory {
-    private string _version = String.Empty;
-    private string _productDescription = String.Empty;
-    private IAuthInitialize _authInitialize;
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_CreateCacheFactory();
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern void apache_geode_DestroyCacheFactory(IntPtr factory);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_CacheFactory_GetVersion(IntPtr factory);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_CacheFactory_GetProductDescription(
-        IntPtr factory);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern void apache_geode_CacheFactory_SetPdxIgnoreUnreadFields(
-        IntPtr factory, bool pdxIgnoreUnreadFields);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern void apache_geode_CacheFactory_SetPdxReadSerialized(
-        IntPtr factory, bool pdxReadSerialized);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern void apache_geode_CacheFactory_SetProperty(IntPtr factory, IntPtr key,
-                                                                     IntPtr value);
-
-    public static ICacheFactory Create() {
-      return new CacheFactory();
-    }
-
-    public CacheFactory() {
-      _containedObject = apache_geode_CreateCacheFactory();
-    }
-
-    public string Version {
-      get {
-        if (_version == String.Empty) {
-          _version =
-              Marshal.PtrToStringUTF8(apache_geode_CacheFactory_GetVersion(_containedObject));
-        }
-
-        return _version;
-      }
-    }
-
-    public string ProductDescription {
-      get {
-        if (_productDescription == String.Empty) {
-          _productDescription = Marshal.PtrToStringUTF8(
-              apache_geode_CacheFactory_GetProductDescription(_containedObject));
-        }
-
-        return _productDescription;
-      }
-    }
-
-    public bool PdxIgnoreUnreadFields {
-      set => apache_geode_CacheFactory_SetPdxIgnoreUnreadFields(_containedObject, value);
-    }
-
-    public bool PdxReadSerialized {
-      set => apache_geode_CacheFactory_SetPdxReadSerialized(_containedObject, value);
-    }
-
-    public IGeodeCache CreateCache() {
-      return new Cache(_containedObject, _authInitialize);
-    }
-
-    public ICacheFactory SetProperty(string key, string value) {
-      var utf8Key = Marshal.StringToCoTaskMemUTF8(key);
-      var utf8Value = Marshal.StringToCoTaskMemUTF8(value);
-      apache_geode_CacheFactory_SetProperty(_containedObject, utf8Key, utf8Value);
-      Marshal.FreeCoTaskMem(utf8Key);
-      Marshal.FreeCoTaskMem(utf8Value);
-      return this;
-    }
-
-    public IAuthInitialize AuthInitialize { set => _authInitialize = value; }
-
-    protected override void DestroyContainedObject() {
-      apache_geode_DestroyCacheFactory(_containedObject);
-      _containedObject = IntPtr.Zero;
-    }
-  }
-}
diff --git a/netcore/netcore-lib/Client.cs b/netcore/netcore-lib/Client.cs
deleted file mode 100644
index b62fe34..0000000
--- a/netcore/netcore-lib/Client.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace Apache.Geode.Client {
-  public class Client : GeodeNativeObject {
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_ClientInitialize();
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern int apache_geode_ClientUninitialize(IntPtr client);
-
-    public Client() {
-      _containedObject = apache_geode_ClientInitialize();
-    }
-
-    protected override void DestroyContainedObject() {
-      var err = apache_geode_ClientUninitialize(_containedObject);
-      _containedObject = IntPtr.Zero;
-      if (err != 0) {
-        throw new InvalidOperationException(
-            "One or more native objects was leaked!  See Geode Native log for debugging info.");
-      }
-    }
-  }
-}
diff --git a/netcore/netcore-lib/Constants.cs b/netcore/netcore-lib/Constants.cs
deleted file mode 100644
index e27dbe2..0000000
--- a/netcore/netcore-lib/Constants.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-namespace Apache.Geode.Client {
-  public class Constants {
-    public const string libPath = "apache-geode-c";
-  }
-}
diff --git a/netcore/netcore-lib/GeodeNativeObject.cs b/netcore/netcore-lib/GeodeNativeObject.cs
deleted file mode 100644
index 541fa31..0000000
--- a/netcore/netcore-lib/GeodeNativeObject.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-namespace Apache.Geode.Client {
-  public abstract class GeodeNativeObject : IDisposable {
-    private bool _disposed = false;
-    protected IntPtr _containedObject;
-
-    public void Dispose() {
-      Dispose(true);
-      GC.SuppressFinalize(this);
-    }
-
-    public IntPtr ContainedObject {
-      get { return _containedObject; }
-    }
-
-    protected virtual void Dispose(bool disposing) {
-      if (_disposed) {
-        return;
-      }
-
-      if (disposing) {
-        DestroyContainedObject();
-        _containedObject = IntPtr.Zero;
-      }
-
-      _disposed = true;
-    }
-
-    protected abstract void DestroyContainedObject();
-  }
-}
diff --git a/netcore/netcore-lib/ICacheFactory.cs b/netcore/netcore-lib/ICacheFactory.cs
deleted file mode 100644
index 5bb2ba7..0000000
--- a/netcore/netcore-lib/ICacheFactory.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-namespace Apache.Geode.Client {
-  public interface ICacheFactory : IDisposable {
-    IGeodeCache CreateCache();
-    ICacheFactory SetProperty(String name, String value);
-    IAuthInitialize AuthInitialize { set; }
-    bool PdxIgnoreUnreadFields { set; }
-    bool PdxReadSerialized { set; }
-    String Version { get; }
-    String ProductDescription { get; }
-  }
-}
diff --git a/netcore/netcore-lib/IGeodeCache.cs b/netcore/netcore-lib/IGeodeCache.cs
deleted file mode 100644
index 8591db6..0000000
--- a/netcore/netcore-lib/IGeodeCache.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-namespace Apache.Geode.Client {
-  public interface IGeodeCache : IRegionService, IDisposable {
-    bool GetPdxIgnoreUnreadFields();
-    bool GetPdxReadSerialized();
-    //                void InitializeDeclarativeCache(String cacheXml);
-
-    //                CacheTransactionManager CacheTransactionManager { get; }
-    //                DistributedSystem DistributedSystem { get; }
-    String Name { get; }
-    PoolManager PoolManager { get; }
-    PoolFactory PoolFactory { get; }
-    void Close();
-    void Close(bool keepalive);
-    bool Closed { get; }
-  }
-}
diff --git a/netcore/netcore-lib/IRegionService.cs b/netcore/netcore-lib/IRegionService.cs
deleted file mode 100644
index d635d71..0000000
--- a/netcore/netcore-lib/IRegionService.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-
-namespace Apache.Geode.Client {
-  public interface IRegionService {
-    RegionFactory CreateRegionFactory(RegionShortcut regionType);
-  }
-}
diff --git a/netcore/netcore-lib/Pool.cs b/netcore/netcore-lib/Pool.cs
deleted file mode 100644
index c3e9b81..0000000
--- a/netcore/netcore-lib/Pool.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace Apache.Geode.Client {
-  public class Pool : GeodeNativeObject {
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_Cache_GetPoolManager(IntPtr cache);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_PoolFactory_CreatePool(IntPtr poolFactory,
-                                                                     IntPtr poolName);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern void apache_geode_DestroyPool(IntPtr pool);
-
-    internal Pool(IntPtr poolFactory, string poolName) {
-      var poolNamePtr = Marshal.StringToCoTaskMemUTF8(poolName);
-      _containedObject = apache_geode_PoolFactory_CreatePool(poolFactory, poolNamePtr);
-      Marshal.FreeCoTaskMem(poolNamePtr);
-    }
-
-    protected override void DestroyContainedObject() {
-      apache_geode_DestroyPool(_containedObject);
-      _containedObject = IntPtr.Zero;
-    }
-  }
-}
diff --git a/netcore/netcore-lib/PoolFactory.cs b/netcore/netcore-lib/PoolFactory.cs
deleted file mode 100644
index c00e8c8..0000000
--- a/netcore/netcore-lib/PoolFactory.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace Apache.Geode.Client {
-  public class PoolFactory : GeodeNativeObject {
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_Cache_GetPoolManager(IntPtr cache);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_PoolManager_CreateFactory(IntPtr poolManager);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_PoolFactory_AddLocator(IntPtr poolManager,
-                                                                     IntPtr hostname, int port);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_DestroyPoolFactory(IntPtr poolManager);
-
-    internal PoolFactory(IntPtr poolManager) {
-      _containedObject = apache_geode_PoolManager_CreateFactory(poolManager);
-    }
-
-    public PoolFactory AddLocator(string hostname, int port) {
-      var hostnamePtr = Marshal.StringToCoTaskMemUTF8(hostname);
-      apache_geode_PoolFactory_AddLocator(_containedObject, hostnamePtr, port);
-      Marshal.FreeCoTaskMem(hostnamePtr);
-      return this;
-    }
-
-    public Pool CreatePool(string poolName) {
-      return new Pool(_containedObject, poolName);
-    }
-
-    protected override void DestroyContainedObject() {
-      apache_geode_DestroyPoolFactory(_containedObject);
-      _containedObject = IntPtr.Zero;
-    }
-  }
-}
diff --git a/netcore/netcore-lib/PoolManager.cs b/netcore/netcore-lib/PoolManager.cs
deleted file mode 100644
index 5a06436..0000000
--- a/netcore/netcore-lib/PoolManager.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace Apache.Geode.Client {
-  public class PoolManager : GeodeNativeObject {
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_Cache_GetPoolManager(IntPtr cache);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_DestroyPoolManager(IntPtr poolManager);
-
-    internal PoolManager(IntPtr cache) {
-      _containedObject = apache_geode_Cache_GetPoolManager(cache);
-    }
-
-    public PoolFactory CreatePoolFactory() {
-      return new PoolFactory(_containedObject);
-    }
-
-    protected override void DestroyContainedObject() {
-      apache_geode_DestroyPoolManager(_containedObject);
-      _containedObject = IntPtr.Zero;
-    }
-  }
-}
diff --git a/netcore/netcore-lib/Region.cs b/netcore/netcore-lib/Region.cs
deleted file mode 100644
index 68d49a5..0000000
--- a/netcore/netcore-lib/Region.cs
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace Apache.Geode.Client {
-  public class Region : GeodeNativeObject {
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_RegionFactory_CreateRegion(IntPtr cache,
-                                                                         IntPtr regionName);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern bool apache_geode_Region_PutString(IntPtr region, IntPtr key,
-                                                             IntPtr value);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern bool apache_geode_Region_PutByteArray(IntPtr region, IntPtr key,
-                                                                IntPtr value, int length);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_Region_GetString(IntPtr region, IntPtr key);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern void apache_geode_Region_GetByteArray(IntPtr region, IntPtr key,
-                                                                ref IntPtr value, ref int size);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern void apache_geode_Region_Remove(IntPtr region, IntPtr key);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern bool apache_geode_Region_ContainsValueForKey(IntPtr region,
-                                                                       IntPtr key);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_DestroyRegion(IntPtr region);
-
-    internal Region(IntPtr regionFactory, string regionName) {
-      var regionNamePtr = Marshal.StringToCoTaskMemUTF8(regionName);
-      _containedObject = apache_geode_RegionFactory_CreateRegion(regionFactory, regionNamePtr);
-      Marshal.FreeCoTaskMem(regionNamePtr);
-    }
-
-    public void PutString(string key, string value) {
-      var keyPtr = Marshal.StringToCoTaskMemUTF8(key);
-      var valuePtr = Marshal.StringToCoTaskMemUTF8(value);
-      apache_geode_Region_PutString(_containedObject, keyPtr, valuePtr);
-      Marshal.FreeCoTaskMem(keyPtr);
-      Marshal.FreeCoTaskMem(valuePtr);
-    }
-
-    public void PutByteArray(string key, byte[] value) {
-      var keyPtr = Marshal.StringToCoTaskMemUTF8(key);
-      var valuePtr = Marshal.AllocCoTaskMem(value.Length);
-      Marshal.Copy(value, 0, valuePtr, value.Length);
-      apache_geode_Region_PutByteArray(_containedObject, keyPtr, valuePtr, value.Length);
-      Marshal.FreeCoTaskMem(keyPtr);
-      Marshal.FreeCoTaskMem(valuePtr);
-    }
-
-    public string GetString(string key) {
-      var keyPtr = Marshal.StringToCoTaskMemUTF8(key);
-      var result =
-          Marshal.PtrToStringUTF8(apache_geode_Region_GetString(_containedObject, keyPtr));
-      Marshal.FreeCoTaskMem(keyPtr);
-      return result;
-    }
-
-    public byte[] GetByteArray(string key) {
-      var keyPtr = Marshal.StringToCoTaskMemUTF8(key);
-      var valPtr = (IntPtr)0;
-      int size = 0;
-      apache_geode_Region_GetByteArray(_containedObject, keyPtr, ref valPtr, ref size);
-      if (size > 0) {
-        Byte[] byteArray = new Byte[size];
-        Marshal.Copy(valPtr, byteArray, 0, size);
-        Marshal.FreeCoTaskMem(valPtr);
-        return byteArray;
-      } else
-        return null;
-    }
-
-    public void Remove(string key) {
-      var keyPtr = Marshal.StringToCoTaskMemUTF8(key);
-      apache_geode_Region_Remove(_containedObject, keyPtr);
-      Marshal.FreeCoTaskMem(keyPtr);
-    }
-
-    public bool ContainsValueForKey(string key) {
-      var keyPtr = Marshal.StringToCoTaskMemUTF8(key);
-      bool result = apache_geode_Region_ContainsValueForKey(_containedObject, keyPtr);
-      Marshal.FreeCoTaskMem(keyPtr);
-      return result;
-    }
-
-    protected override void DestroyContainedObject() {
-      apache_geode_DestroyRegion(_containedObject);
-      _containedObject = IntPtr.Zero;
-    }
-  }
-}
diff --git a/netcore/netcore-lib/RegionFactory.cs b/netcore/netcore-lib/RegionFactory.cs
deleted file mode 100644
index 0cf2fd9..0000000
--- a/netcore/netcore-lib/RegionFactory.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace Apache.Geode.Client {
-  public class RegionFactory : GeodeNativeObject {
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_Cache_CreateRegionFactory(IntPtr cache,
-                                                                        int regionType);
-
-    [DllImport(Constants.libPath, CharSet = CharSet.Auto)]
-    private static extern IntPtr apache_geode_DestroyRegionFactory(IntPtr regionFactory);
-
-    internal RegionFactory(IntPtr cache, RegionShortcut regionType) {
-      _containedObject = apache_geode_Cache_CreateRegionFactory(cache, (int)regionType);
-    }
-
-    public Region CreateRegion(string regionName) {
-      return new Region(_containedObject, regionName);
-    }
-
-    protected override void DestroyContainedObject() {
-      apache_geode_DestroyRegionFactory(_containedObject);
-      _containedObject = IntPtr.Zero;
-    }
-  }
-}
diff --git a/netcore/netcore-lib/RegionShortcut.cs b/netcore/netcore-lib/RegionShortcut.cs
deleted file mode 100644
index 6e1738a..0000000
--- a/netcore/netcore-lib/RegionShortcut.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-namespace Apache.Geode.Client {
-  public enum RegionShortcut {
-    Proxy = 0,
-    CachingProxy = 1,
-    CachingProxyEntryLru = 2,
-    Local = 3,
-    LocalEntryLru = 4
-  }
-}
diff --git a/netcore/netcore-lib/netcore-lib.csproj b/netcore/netcore-lib/netcore-lib.csproj
deleted file mode 100644
index 35ae18e..0000000
--- a/netcore/netcore-lib/netcore-lib.csproj
+++ /dev/null
@@ -1,26 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-    <PropertyGroup>
-        <TargetFramework>netcoreapp3.1</TargetFramework>
-        <RootNamespace>Apache.Geode.NetCore</RootNamespace>
-        <AssemblyName>Apache.Geode.NetCore</AssemblyName>
-        <Platforms>x64</Platforms>
-        <Configurations>Debug;RelWithDebInfo</Configurations>
-    </PropertyGroup>
-
-    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-      <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-      <WarningsAsErrors />
-      <DebugType>pdbonly</DebugType>
-      <DebugSymbols>true</DebugSymbols>
-    </PropertyGroup>
-	
-    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">
-      <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-      <WarningsAsErrors />
-      <Optimize>true</Optimize>
-      <DebugType>pdbonly</DebugType>
-      <DebugSymbols>true</DebugSymbols>
-    </PropertyGroup>	
-
-</Project>
diff --git a/netcore/netcore-session-integration-test/CMakeLists.txt b/netcore/netcore-session-integration-test/CMakeLists.txt
deleted file mode 100644
index 9aa4d4e..0000000
--- a/netcore/netcore-session-integration-test/CMakeLists.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-project(netcore-session-integrationtest LANGUAGES NONE)
-
-add_custom_target(netcore-session-integration-test ALL 
-  COMMAND ${DOTNET} build netcore-session-integration-test.csproj -p:platform=x64 --configuration $<CONFIG>
-  COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:apache-geode-c> ${CMAKE_CURRENT_SOURCE_DIR}/bin/x64/$<CONFIG>/netcoreapp3.1/
-  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS apache-geode-c netcore-session VERBATIM)
-
-enable_testing()
-
-add_test(NAME netcore-session-test 
-  COMMAND dotnet test -c $<CONFIG> -p:platform=x64
-  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/netcore/netcore-session-integration-test/Properties/launchSettings.json b/netcore/netcore-session-integration-test/Properties/launchSettings.json
deleted file mode 100644
index 5d4ca80..0000000
--- a/netcore/netcore-session-integration-test/Properties/launchSettings.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "profiles": {
-	"Apache.Geode.Session.IntegrationTests": {
-	  "commandName": "Project",
-	  "nativeDebugging": true
-	}
-  }
-}
diff --git a/netcore/netcore-session-integration-test/SessionStateIntegrationTests.cs b/netcore/netcore-session-integration-test/SessionStateIntegrationTests.cs
deleted file mode 100644
index ad2d867..0000000
--- a/netcore/netcore-session-integration-test/SessionStateIntegrationTests.cs
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Text;
-using System.Linq;
-using Microsoft.Extensions.Caching.Distributed;
-using System.Threading.Tasks;
-using Xunit;
-using Xunit.Abstractions;
-using Apache.Geode.Client.IntegrationTests;
-using Xunit.Sdk;
-using System.Reflection;
-
-namespace Apache.Geode.Session.IntegrationTests {
-  public class NetCoreSessionTestFixture : IDisposable
-  {
-    internal Cluster cluster;
-    public ITestOutputHelper Output { get; set; }
-
-    public NetCoreSessionTestFixture SetOutPut(ITestOutputHelper output)
-    {
-      Output = output;
-      return this;
-    }
-
-    public void CreateCluster()
-    {
-      if (cluster == null)
-      {
-        cluster = new Cluster(Output, "GeodeSessionStateTests", 1, 1);
-
-        Assert.True(cluster.Start());
-        Assert.Equal(0, cluster.Gfsh
-            .create()
-            .region()
-            .withName("exampleRegion")
-            .withType("PARTITION")
-            .execute());
-      }
-    }
-
-    public void Dispose()
-    {
-      // At this point, the last test has executed and the ITestOutputHelper is
-      // no longer available. Hence set the output to null in the cluster.
-      cluster.Gfsh.Output = null;
-      cluster.Dispose();
-      Output = null;
-    }
-  }
-
-  [Collection("Geode .Net Core Collection")]
-  public class SessionStateIntegrationTests : TestBase,  IClassFixture<NetCoreSessionTestFixture>
-  {
-    NetCoreSessionTestFixture fixture;
-
-    public SessionStateIntegrationTests(NetCoreSessionTestFixture fixture, ITestOutputHelper testOutputHelper) : base(testOutputHelper)
-    {
-      this.fixture = fixture;
-      this.fixture.Output = testOutputHelper;
-      this.fixture.CreateCluster();
-    }
-
-    [Fact]
-    public void SetGet()
-    {
-        var ssCacheOptions = new GeodeSessionStateCacheOptions();
-        ssCacheOptions.Host = "localhost";
-        ssCacheOptions.Port = fixture.cluster.Locators[0].Address.port;
-        ssCacheOptions.RegionName = "exampleRegion";
-
-        using var ssCache = new GeodeSessionStateCache(ssCacheOptions);
-
-        var options = new DistributedCacheEntryOptions();
-        var localTime = DateTime.Now.AddDays(1);
-        var dateAndOffset =
-            new DateTimeOffset(localTime, TimeZoneInfo.Local.GetUtcOffset(localTime));
-        options.AbsoluteExpiration = dateAndOffset;
-        var testValue = new byte[] { 1, 2, 3, 4, 5 };
-        ssCache.Set("testKey", testValue, options);
-        var value = ssCache.Get("testKey");
-        Assert.True(testValue.SequenceEqual(value));
-      }
-
-    [Fact]
-    public void Refresh()
-    {
-        var ssCacheOptions = new GeodeSessionStateCacheOptions();
-        ssCacheOptions.Host = "localhost";
-        ssCacheOptions.Port = fixture.cluster.Locators[0].Address.port;
-        ssCacheOptions.RegionName = "exampleRegion";
-
-        using var ssCache = new GeodeSessionStateCache(ssCacheOptions);
-
-        var options = new DistributedCacheEntryOptions();
-        var numSeconds = 20;
-        options.SlidingExpiration = new TimeSpan(0, 0, numSeconds);
-        var testValue = new byte[] { 1, 2, 3, 4, 5 };
-
-        // Set a value
-        ssCache.Set("testKey", testValue, options);
-
-        // Wait half a timeout then refresh
-        System.Threading.Thread.Sleep(numSeconds / 2 * 1000);
-        ssCache.Refresh("testKey");
-
-        // Wait beyond the original expiration
-        System.Threading.Thread.Sleep(numSeconds / 2 * 1000 + 1);
-
-        // Ensure it's not expired
-        var value = ssCache.Get("testKey");
-        Assert.True(testValue.SequenceEqual(value));
-    }
-
-    [Fact]
-    public void SetWithAbsoluteExpiration()
-    {
-        var ssCacheOptions = new GeodeSessionStateCacheOptions();
-        ssCacheOptions.Host = "localhost";
-        ssCacheOptions.Port = fixture.cluster.Locators[0].Address.port;
-        ssCacheOptions.RegionName = "exampleRegion";
-
-        using var ssCache = new GeodeSessionStateCache(ssCacheOptions);
-
-        var options = new DistributedCacheEntryOptions();
-        options.AbsoluteExpiration = DateTime.Now.AddSeconds(5);
-        ssCache.Set("testKey", Encoding.UTF8.GetBytes("testValue"), options);
-        System.Threading.Thread.Sleep(6000);
-        var value = ssCache.Get("testKey");
-        Assert.Null(value);
-    }
-
-    [Fact]
-    public void Remove()
-    {
-        var ssCacheOptions = new GeodeSessionStateCacheOptions();
-        ssCacheOptions.Host = "localhost";
-        ssCacheOptions.Port = fixture.cluster.Locators[0].Address.port;
-        ssCacheOptions.RegionName = "exampleRegion";
-
-        using var ssCache = new GeodeSessionStateCache(ssCacheOptions);
-
-        var options = new DistributedCacheEntryOptions();
-        var localTime = DateTime.Now.AddDays(1);
-        var dateAndOffset =
-            new DateTimeOffset(localTime, TimeZoneInfo.Local.GetUtcOffset(localTime));
-        options.AbsoluteExpiration = dateAndOffset;
-        var testValue = new byte[] { 1, 2, 3, 4, 5 };
-        ssCache.Set("testKey", testValue, options);
-        var value = ssCache.Get("testKey");
-
-        ssCache.Remove("testKey");
-        value = ssCache.Get("testKey");
-        Assert.Null(value);
-    }
-
-    [Fact]
-    public void SetGetRemoveAsync()
-    {
-        var ssCacheOptions = new GeodeSessionStateCacheOptions();
-        ssCacheOptions.Host = "localhost";
-        ssCacheOptions.Port = fixture.cluster.Locators[0].Address.port;
-        ssCacheOptions.RegionName = "exampleRegion";
-
-        using var ssCache = new GeodeSessionStateCache(ssCacheOptions);
-
-        var options = new DistributedCacheEntryOptions();
-        var localTime = DateTime.Now.AddDays(1);
-        var dateAndOffset =
-            new DateTimeOffset(localTime, TimeZoneInfo.Local.GetUtcOffset(localTime));
-        options.AbsoluteExpiration = dateAndOffset;
-
-        var testValue1 = new byte[] { 1, 2, 3, 4, 5 };
-        var testValue2 = new byte[] { 11, 12, 13, 14, 15 };
-        var testValue3 = new byte[] { 21, 22, 23, 24, 25 };
-        var testValue4 = new byte[] { 31, 32, 33, 34, 35 };
-        var testValue5 = new byte[] { 41, 42, 43, 44, 45 };
-
-        var set1 = ssCache.SetAsync("testKey1", testValue1, options);
-        var set2 = ssCache.SetAsync("testKey2", testValue2, options);
-        var set3 = ssCache.SetAsync("testKey3", testValue3, options);
-        var set4 = ssCache.SetAsync("testKey4", testValue4, options);
-        var set5 = ssCache.SetAsync("testKey5", testValue5, options);
-
-        Task.WaitAll(set1, set2, set3, set4, set5);
-
-        var value1 = ssCache.GetAsync("testKey1");
-        var value2 = ssCache.GetAsync("testKey2");
-        var value3 = ssCache.GetAsync("testKey3");
-        var value4 = ssCache.GetAsync("testKey4");
-        var value5 = ssCache.GetAsync("testKey5");
-
-        Task.WaitAll(value1, value2, value3, value4, value5);
-
-        Assert.True(testValue1.SequenceEqual(value1.Result));
-        Assert.True(testValue2.SequenceEqual(value2.Result));
-        Assert.True(testValue3.SequenceEqual(value3.Result));
-        Assert.True(testValue4.SequenceEqual(value4.Result));
-        Assert.True(testValue5.SequenceEqual(value5.Result));
-
-        var rm1 = ssCache.RemoveAsync("testKey1");
-        var rm2 = ssCache.RemoveAsync("testKey2");
-        var rm3 = ssCache.RemoveAsync("testKey3");
-        var rm4 = ssCache.RemoveAsync("testKey4");
-        var rm5 = ssCache.RemoveAsync("testKey5");
-
-        Task.WaitAll(rm1, rm2, rm3, rm4, rm5);
-
-        Assert.Null(ssCache.Get("testKey1"));
-        Assert.Null(ssCache.Get("testKey2"));
-        Assert.Null(ssCache.Get("testKey3"));
-        Assert.Null(ssCache.Get("testKey4"));
-        Assert.Null(ssCache.Get("testKey5"));
-      }
-    }
-}
diff --git a/netcore/netcore-session-integration-test/netcore-session-integration-test.csproj b/netcore/netcore-session-integration-test/netcore-session-integration-test.csproj
deleted file mode 100644
index 301d1b9..0000000
--- a/netcore/netcore-session-integration-test/netcore-session-integration-test.csproj
+++ /dev/null
@@ -1,46 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp3.1</TargetFramework>
-    <IsPackable>false</IsPackable>
-    <Platforms>x64</Platforms>
-	<Configurations>Debug;RelWithDebInfo</Configurations>
-  </PropertyGroup>
-
-  <ItemGroup>
-	<Compile Include="..\shared\Config.cs" Link="Config.cs" />
-	<Compile Include="..\shared\Cluster.cs" Link="Cluster.cs" />
-	<Compile Include="..\shared\Gfsh.cs" Link="Gfsh.cs" />
-	<Compile Include="..\shared\Framework.cs" Link="Framework.cs" />
-	<Compile Include="..\shared\GfshExecute.cs" Link="GfshExecute.cs" />
-	<Compile Include="..\shared\TestBase.cs" Link="TestBase.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
-	<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
-	<PackageReference Include="xunit" Version="2.4.1" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />
-    <PackageReference Include="coverlet.collector" Version="1.2.0" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\netcore-session\netcore-session.csproj" />
-    <ProjectReference Include="..\netcore-lib\netcore-lib.csproj" />
-  </ItemGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-	<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-	<WarningsAsErrors />
-	<DebugType>pdbonly</DebugType>
-	<DebugSymbols>true</DebugSymbols>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">
-	<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-	<WarningsAsErrors />
-	<Optimize>true</Optimize>
-	<DebugType>pdbonly</DebugType>
-	<DebugSymbols>true</DebugSymbols>
-  </PropertyGroup>
-
-</Project>
diff --git a/netcore/netcore-session/CMakeLists.txt b/netcore/netcore-session/CMakeLists.txt
deleted file mode 100644
index 37c122e..0000000
--- a/netcore/netcore-session/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-project(netcore-session LANGUAGES NONE)
-
-add_custom_target(netcore-session ALL COMMAND ${DOTNET} build netcore-session.csproj -p:platform=x64 --configuration $<CONFIG>
-  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS apache-geode-c netcore-integration-test VERBATIM)
diff --git a/netcore/netcore-session/GeodeCacheServiceCollectionExtensions.cs b/netcore/netcore-session/GeodeCacheServiceCollectionExtensions.cs
deleted file mode 100644
index 113d079..0000000
--- a/netcore/netcore-session/GeodeCacheServiceCollectionExtensions.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using Microsoft.Extensions.Caching.Distributed;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace Apache.Geode.Session {
-  public static class GeodeCacheServiceCollectionExtensions {
-    public static IServiceCollection AddGeodeSessionStateCache(
-        this IServiceCollection services, Action<GeodeSessionStateCacheOptions> setupAction) {
-      if (services == null) {
-        throw new ArgumentNullException(nameof(services));
-      }
-
-      if (setupAction == null) {
-        throw new ArgumentNullException(nameof(setupAction));
-      }
-
-      services.AddOptions();
-      services.Add(ServiceDescriptor.Singleton<IDistributedCache, GeodeSessionStateCache>());
-      services.Configure(setupAction);
-
-      return services;
-    }
-  }
-}
diff --git a/netcore/netcore-session/GeodeSessionStateCacheOptions.cs b/netcore/netcore-session/GeodeSessionStateCacheOptions.cs
deleted file mode 100644
index d07e068..0000000
--- a/netcore/netcore-session/GeodeSessionStateCacheOptions.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Microsoft.Extensions.Options;
-
-namespace Apache.Geode.Session {
-  public class GeodeSessionStateCacheOptions : IOptions<GeodeSessionStateCacheOptions> {
-    public string RegionName { get; set; }
-    public string Host { get; set; }
-    public int Port { get; set; }
-    public string LogLevel { get; set; } = "none";
-    public string LogFile { get; set; } = "GeodeSessionStateCache.log";
-
-    GeodeSessionStateCacheOptions IOptions<GeodeSessionStateCacheOptions>.Value {
-      get { return this; }
-    }
-  }
-}
diff --git a/netcore/netcore-session/NetCoreSessionState.cs b/netcore/netcore-session/NetCoreSessionState.cs
deleted file mode 100644
index 4bf0b88..0000000
--- a/netcore/netcore-session/NetCoreSessionState.cs
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using Apache.Geode.Client;
-using Microsoft.Extensions.Caching.Distributed;
-using Microsoft.Extensions.Logging;
-using Microsoft.Extensions.Options;
-using System;
-using System.Threading;
-using System.Threading.Tasks;
-
-namespace Apache.Geode.Session {
-  public class GeodeSessionStateValue {
-    public GeodeSessionStateValue() {}
-    public GeodeSessionStateValue(byte[] value) {
-      FromByteArray(value);
-    }
-
-    public byte[] Value { get; set; }
-    public DateTime LastAccessTimeUtc { get; set; }
-    public DateTime ExpirationTimeUtc { get; set; } = DateTime.MinValue;
-    public TimeSpan SpanUntilStale { get; set; } = TimeSpan.Zero;
-
-    public byte[] ToByteArray() {
-      var neededBytes = 3 * sizeof(long) + Value.Length;
-      var byteArray = new byte[neededBytes];
-      var byteIndex = 0;
-
-      Array.Copy(BitConverter.GetBytes(LastAccessTimeUtc.Ticks), 0, byteArray, byteIndex,
-                 sizeof(long));
-      byteIndex += sizeof(long);
-
-      Array.Copy(BitConverter.GetBytes(ExpirationTimeUtc.Ticks), 0, byteArray, byteIndex,
-                 sizeof(long));
-      byteIndex += sizeof(long);
-
-      Array.Copy(BitConverter.GetBytes(SpanUntilStale.Ticks), 0, byteArray, byteIndex,
-                 sizeof(long));
-      byteIndex += sizeof(long);
-
-      Array.Copy(Value, 0, byteArray, byteIndex, Value.Length);
-      return byteArray;
-    }
-
-    public void FromByteArray(byte[] data) {
-      var byteIndex = 0;
-
-      LastAccessTimeUtc = DateTime.FromBinary(BitConverter.ToInt64(data, byteIndex));
-      byteIndex += sizeof(long);
-
-      ExpirationTimeUtc = DateTime.FromBinary(BitConverter.ToInt64(data, byteIndex));
-      byteIndex += sizeof(long);
-
-      SpanUntilStale = TimeSpan.FromTicks(BitConverter.ToInt64(data, byteIndex));
-      byteIndex += sizeof(long);
-
-      Value = new byte[data.Length - byteIndex];
-      Array.Copy(data, byteIndex, Value, 0, data.Length - byteIndex);
-    }
-  }
-
-  public class GeodeSessionStateCache : GeodeNativeObject, IDistributedCache {
-    private readonly IGeodeCache _cache;
-    private static Region _region;
-    private string _logLevel;
-    private string _logFile;
-    private string _regionName;
-    private readonly SemaphoreSlim _connectLock = new SemaphoreSlim(initialCount: 1, maxCount: 1);
-
-    public GeodeSessionStateCache(IOptions<GeodeSessionStateCacheOptions> optionsAccessor) {
-      var host = optionsAccessor.Value.Host;
-      var port = optionsAccessor.Value.Port;
-      _regionName = optionsAccessor.Value.RegionName;
-      _logLevel = optionsAccessor.Value.LogLevel;
-      _logFile = optionsAccessor.Value.LogFile;
-
-      _cache = CacheFactory.Create()
-                   .SetProperty("log-level", _logLevel)
-                   .SetProperty("log-file", _logFile)
-                   .CreateCache();
-
-      _cache.PoolManager.CreatePoolFactory().AddLocator(host, port).CreatePool("pool");
-
-      var regionFactory = _cache.CreateRegionFactory(RegionShortcut.Proxy);
-      _region = regionFactory.CreateRegion(_regionName);
-    }
-
-    // Returns the SessionStateValue for key, or null if key doesn't exist
-    public GeodeSessionStateValue GetValueForKey(string key) {
-      var cacheValue = _region.GetByteArray(key);
-
-      if (cacheValue != null) {
-        return new GeodeSessionStateValue(cacheValue);
-      } else
-        return null;
-    }
-
-    public byte[] Get(string key) {
-      if (key == null) {
-        throw new ArgumentNullException(nameof(key));
-      }
-
-      Connect();
-
-      // Check for nonexistent key
-      var ssValue = GetValueForKey(key);
-      if (ssValue == null) {
-        return null;
-      }
-
-      // Check for expired key
-      var nowUtc = DateTime.UtcNow;
-      if (ssValue.ExpirationTimeUtc != DateTime.MinValue && ssValue.ExpirationTimeUtc < nowUtc) {
-        return null;
-      }
-
-      // Check for stale key
-      if (ssValue.SpanUntilStale != TimeSpan.Zero &&
-          nowUtc > (ssValue.LastAccessTimeUtc + ssValue.SpanUntilStale)) {
-        return null;
-      }
-
-      // Update the times for sliding expirations
-      if (ssValue.SpanUntilStale != TimeSpan.Zero) {
-        ssValue.LastAccessTimeUtc = nowUtc;
-        _region.PutByteArray(key, ssValue.ToByteArray());
-      }
-
-      return ssValue.Value;
-    }
-
-    public Task<byte[]> GetAsync(string key, CancellationToken token = default(CancellationToken)) {
-      if (key == null) {
-        throw new ArgumentNullException(nameof(key));
-      }
-
-      token.ThrowIfCancellationRequested();
-
-      return Task.Factory.StartNew(() => Get(key), token);
-    }
-
-    public void Refresh(string key) {
-      if (key == null) {
-        throw new ArgumentNullException(nameof(key));
-      }
-
-      Connect();
-
-      // Check for nonexistent key
-      var ssValue = GetValueForKey(key);
-      if (ssValue == null) {
-        return;
-      }
-
-      // Check for expired key
-      var nowUtc = DateTime.UtcNow;
-      if (ssValue.ExpirationTimeUtc != DateTime.MinValue && ssValue.ExpirationTimeUtc < nowUtc) {
-        return;
-      }
-
-      // Check for stale key
-      if (ssValue.SpanUntilStale != TimeSpan.Zero &&
-          nowUtc > (ssValue.LastAccessTimeUtc + ssValue.SpanUntilStale)) {
-        return;
-      }
-
-      // Update the times for sliding expirations
-      if (ssValue.SpanUntilStale != TimeSpan.Zero) {
-        ssValue.LastAccessTimeUtc = nowUtc;
-        _region.PutByteArray(key, ssValue.ToByteArray());
-      }
-    }
-
-    public Task RefreshAsync(string key, CancellationToken token = default(CancellationToken)) {
-      if (key == null) {
-        throw new ArgumentNullException(nameof(key));
-      }
-
-      token.ThrowIfCancellationRequested();
-
-      return Task.Factory.StartNew(() => Refresh(key), token);
-    }
-
-    public void Remove(string key) {
-      if (key == null) {
-        throw new ArgumentNullException(nameof(key));
-      }
-
-      Connect();
-
-      _region.Remove(key);
-    }
-
-    public Task RemoveAsync(string key, CancellationToken token = default(CancellationToken)) {
-      if (key == null) {
-        throw new ArgumentNullException(nameof(key));
-      }
-
-      token.ThrowIfCancellationRequested();
-
-      return Task.Factory.StartNew(() => Remove(key), token);
-    }
-
-    public void Set(string key, byte[] value, DistributedCacheEntryOptions options) {
-      if (key == null) {
-        throw new ArgumentNullException(nameof(key));
-      }
-
-      if (value == null) {
-        throw new ArgumentNullException(nameof(value));
-      }
-
-      if (options == null) {
-        throw new ArgumentNullException(nameof(options));
-      }
-
-      Connect();
-
-      var ssValue = new GeodeSessionStateValue();
-      ssValue.Value = value;
-
-      var nowUtc = DateTime.UtcNow;
-      ssValue.LastAccessTimeUtc = nowUtc;
-
-      // No need to check stale or expired data when setting an absolute expiration.
-      // Think of if as setting a new key/value pair. Expired data will always be cleaned up
-      // when the CleanupExpiredData job runs.
-
-      if (options.AbsoluteExpiration != null) {
-        var dto = options.AbsoluteExpiration.Value;
-        ssValue.ExpirationTimeUtc = dto.DateTime + dto.Offset;
-      }
-
-      // If AbsoluteExpiration and AbsoluteExpirationRelativeToNow are set, use the latter.
-      if (options.AbsoluteExpirationRelativeToNow != null) {
-        var ts = options.AbsoluteExpirationRelativeToNow.Value;
-        ssValue.ExpirationTimeUtc = nowUtc + ts;
-      }
-
-      if (options.SlidingExpiration != null) {
-        ssValue.SpanUntilStale = options.SlidingExpiration.Value;
-      }
-
-      _region.PutByteArray(key, ssValue.ToByteArray());
-      return;
-    }
-
-    public Task SetAsync(string key, byte[] value, DistributedCacheEntryOptions options,
-                         CancellationToken token = default(CancellationToken)) {
-      if (key == null) {
-        throw new ArgumentNullException(nameof(key));
-      }
-
-      token.ThrowIfCancellationRequested();
-
-      return Task.Factory.StartNew(() => Set(key, value, options), token);
-    }
-
-    private void Connect() {
-      if (_region != null) {
-        return;
-      }
-
-      _connectLock.Wait();
-      using var regionFactory = _cache.CreateRegionFactory(RegionShortcut.Proxy);
-      _region = regionFactory.CreateRegion(_regionName);
-      _connectLock.Release();
-    }
-
-    protected override void DestroyContainedObject() {
-      _region?.Dispose();
-      _region = null;
-    }
-  }
-}
diff --git a/netcore/netcore-session/netcore-session.csproj b/netcore/netcore-session/netcore-session.csproj
deleted file mode 100644
index 3621586..0000000
--- a/netcore/netcore-session/netcore-session.csproj
+++ /dev/null
@@ -1,33 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp3.1</TargetFramework>
-    <Platforms>x64</Platforms>
-	<Configurations>Debug;RelWithDebInfo</Configurations>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="3.1.3" />
-    <PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.3" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\netcore-lib\netcore-lib.csproj" />
-  </ItemGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-	<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-	<WarningsAsErrors />
-	<DebugType>pdbonly</DebugType>
-	<DebugSymbols>true</DebugSymbols>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">
-	<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-	<WarningsAsErrors />
-	<Optimize>true</Optimize>
-	<DebugType>pdbonly</DebugType>
-	<DebugSymbols>true</DebugSymbols>
-  </PropertyGroup>
-
-</Project>
diff --git a/netcore/netcore.sln b/netcore/netcore.sln
deleted file mode 100644
index f4249d3..0000000
--- a/netcore/netcore.sln
+++ /dev/null
@@ -1,49 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.31702.278
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "netcore-lib", "netcore-lib\netcore-lib.csproj", "{27274EF5-E606-4D98-98C0-8214B80FC267}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "netcore-integration-test", "netcore-integration-test\netcore-integration-test.csproj", "{1FB30EB0-1121-4E9D-AAB9-6ABF88378219}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "asp-netcore-session-sample", "asp-netcore-session-sample\asp-netcore-session-sample.csproj", "{94BC7C9E-1967-4E87-983A-FECD32F7DDE2}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "netcore-session", "netcore-session\netcore-session.csproj", "{72C7BDE7-F933-464A-A5E7-F024D73CD8F1}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "netcore-session-integration-test", "netcore-session-integration-test\netcore-session-integration-test.csproj", "{8C06FA0E-A460-442B-978D-C0195259893F}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|x64 = Debug|x64
-		RelWithDebInfo|x64 = RelWithDebInfo|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{27274EF5-E606-4D98-98C0-8214B80FC267}.Debug|x64.ActiveCfg = Debug|x64
-		{27274EF5-E606-4D98-98C0-8214B80FC267}.Debug|x64.Build.0 = Debug|x64
-		{27274EF5-E606-4D98-98C0-8214B80FC267}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
-		{27274EF5-E606-4D98-98C0-8214B80FC267}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
-		{1FB30EB0-1121-4E9D-AAB9-6ABF88378219}.Debug|x64.ActiveCfg = Debug|x64
-		{1FB30EB0-1121-4E9D-AAB9-6ABF88378219}.Debug|x64.Build.0 = Debug|x64
-		{1FB30EB0-1121-4E9D-AAB9-6ABF88378219}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
-		{1FB30EB0-1121-4E9D-AAB9-6ABF88378219}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
-		{94BC7C9E-1967-4E87-983A-FECD32F7DDE2}.Debug|x64.ActiveCfg = Debug|x64
-		{94BC7C9E-1967-4E87-983A-FECD32F7DDE2}.Debug|x64.Build.0 = Debug|x64
-		{94BC7C9E-1967-4E87-983A-FECD32F7DDE2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
-		{94BC7C9E-1967-4E87-983A-FECD32F7DDE2}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
-		{72C7BDE7-F933-464A-A5E7-F024D73CD8F1}.Debug|x64.ActiveCfg = Debug|x64
-		{72C7BDE7-F933-464A-A5E7-F024D73CD8F1}.Debug|x64.Build.0 = Debug|x64
-		{72C7BDE7-F933-464A-A5E7-F024D73CD8F1}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
-		{72C7BDE7-F933-464A-A5E7-F024D73CD8F1}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
-		{8C06FA0E-A460-442B-978D-C0195259893F}.Debug|x64.ActiveCfg = Debug|x64
-		{8C06FA0E-A460-442B-978D-C0195259893F}.Debug|x64.Build.0 = Debug|x64
-		{8C06FA0E-A460-442B-978D-C0195259893F}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
-		{8C06FA0E-A460-442B-978D-C0195259893F}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-		SolutionGuid = {1C2B71F0-E68A-43D1-9AA1-6A1CEE82C993}
-	EndGlobalSection
-EndGlobal
diff --git a/netcore/shared/CMakeLists.txt b/netcore/shared/CMakeLists.txt
deleted file mode 100644
index c9e0ed5..0000000
--- a/netcore/shared/CMakeLists.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-project(netcore-shared LANGUAGES NONE)
-
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cs.in ${CMAKE_CURRENT_SOURCE_DIR}/Config.cs)
diff --git a/netcore/shared/Cluster.cs b/netcore/shared/Cluster.cs
deleted file mode 100644
index cd0e2be..0000000
--- a/netcore/shared/Cluster.cs
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using Xunit.Abstractions;
-
-namespace Apache.Geode.Client.IntegrationTests
-{
-    public class Cluster : IDisposable
-    {
-        private int locatorCount_;
-        private int serverCount_;
-        private bool started_;
-        private List<Locator> locators_;
-        private string name_;
-        internal int jmxManagerPort = Framework.FreeTcpPort();
-        internal string keyStore_ = Config.SslServerKeyPath + "/server_keystore_chained.jks";
-        internal string keyStorePassword_ = "apachegeode";
-        internal string trustStore_ = Config.SslServerKeyPath + "/server_truststore_chained_root.jks";
-        internal string trustStorePassword_ = "apachegeode";
-
-        public GfshExecute Gfsh { get; private set; }
-
-        public bool UseSSL { get; set; }
-
-        public List<Locator> Locators
-        {
-          get { return locators_; }
-        }
-
-    internal PoolFactory ApplyLocators(PoolFactory poolFactory)
-        {
-            foreach (var locator in locators_)
-            {
-                poolFactory.AddLocator(locator.Address.address, locator.Address.port);
-            }
-            return poolFactory;
-        }
-
-        public Cluster(ITestOutputHelper output, string name, int locatorCount, int serverCount)
-        {
-            started_ = false;
-            Gfsh = new GfshExecute(output);
-            UseSSL = false;
-            name_ = name;
-            locatorCount_ = locatorCount;
-            serverCount_ = serverCount;
-            locators_ = new List<Locator>();
-        }
-
-        private bool StartLocators()
-        {
-            var success = true;
-
-            for (var i = 0; i < locatorCount_; i++)
-            {
-                var locator = new Locator(this, new List<Locator>(),
-                    name_ + "/locator/" + i.ToString());
-                locators_.Add(locator);
-                success = (locator.Start() == 0);
-            }
-            return success;
-        }
-
-        private bool StartServers()
-        {
-            var success = true;
-
-            for (var i = 0; i < serverCount_; i++)
-            {
-                var server = new Server(this, locators_,
-                    name_ + "/server/" + i.ToString());
-                var localResult = server.Start();
-                if (localResult != 0)
-                {
-                    success = false;
-                }
-            }
-            return success;
-        }
-
-        private void RemoveClusterDirectory()
-        {
-            if (Directory.Exists(name_))
-            {
-                Directory.Delete(name_, true);
-            }
-        }
-
-        public bool Start()
-        {
-            if (!started_)
-            {
-                RemoveClusterDirectory();
-                var locatorSuccess = StartLocators();
-                var serverSuccess = StartServers();
-                started_ = (locatorSuccess && serverSuccess);
-            }
-            return (started_);
-        }
-
-        public void Dispose()
-        {
-            if (started_)
-            {
-                this.Gfsh
-                    .shutdown()
-                    .withIncludeLocators(true)
-                    .execute();
-            }
-        }
-
-        public IGeodeCache CreateCache(IDictionary<string, string> properties)
-        {
-            var cacheFactory = new CacheFactory();
-
-            cacheFactory
-                .SetProperty("log-level", "none")
-                .SetProperty("statistic-sampling-enabled", "false");
-
-            foreach (var pair in properties)
-            {
-                cacheFactory.SetProperty(pair.Key, pair.Value);
-            }
-
-            var cache = cacheFactory.CreateCache();
-
-            ApplyLocators(cache.PoolFactory).CreatePool("default");
-
-            return cache;
-        }
-
-        public IGeodeCache CreateCache()
-        {
-            return CreateCache(new Dictionary<string, string>());
-        }
-
-    }
-
-    public struct Address
-    {
-        public string address;
-        public int port;
-    }
-
-    public class Locator
-    {
-        private Cluster cluster_;
-        private string name_;
-        private List<Locator> locators_;
-        private bool started_;
-
-        public Locator(Cluster cluster, List<Locator> locators, string name)
-        {
-            cluster_ = cluster;
-            locators_ = locators;
-            name_ = name;
-            var address = new Address();
-            address.address = "localhost";
-            address.port = Framework.FreeTcpPort();
-            Address = address;
-        }
-
-        public Address Address { get; private set; }
-
-        public int Start()
-        {
-            var result = -1;
-            if (!started_)
-            {
-                var locator = cluster_.Gfsh
-                    .start()
-                    .locator()
-                    .withDir(name_)
-                    .withName(name_.Replace('/', '_'))
-                    .withBindAddress(Address.address)
-                    .withPort(Address.port)
-                    .withMaxHeap("256m")
-                    .withJmxManagerPort(cluster_.jmxManagerPort)
-                    .withJmxManagerStart(true)
-                    .withHttpServicePort(0);
-                if (cluster_.UseSSL)
-                {
-                   locator
-                        .withConnect(false)
-                        .withSslEnableComponents("all")
-                        .withSslKeyStore(cluster_.keyStore_)
-                        .withSslKeyStorePassword(cluster_.keyStorePassword_)
-                        .withSslTrustStore(cluster_.trustStore_)
-                        .withSslTrustStorePassword(cluster_.trustStorePassword_);
-                }
-                result = locator.execute();
-
-                if (cluster_.UseSSL)
-                {
-                    cluster_.Gfsh.connect()
-                        .withJmxManager(Address.address, cluster_.jmxManagerPort)
-                        .withUseSsl(true)
-                        .withKeyStore(cluster_.keyStore_)
-                        .withKeyStorePassword(cluster_.keyStorePassword_)
-                        .withTrustStore(cluster_.trustStore_)
-                        .withTrustStorePassword(cluster_.trustStorePassword_)
-                        .execute();
-                }
-
-                started_ = true;
-
-            }
-            return result;
-        }
-
-        public int Stop()
-        {
-            var result = cluster_.Gfsh
-                .stop()
-                .locator()
-                .withDir(name_)
-                .execute();
-            started_ = false;
-            return result;
-        }
-    }
-
-    public class Server
-    {
-        private Cluster cluster_;
-        private string name_;
-        private List<Locator> locators_;
-        private bool started_;
-
-        public Server(Cluster cluster, List<Locator> locators, string name)
-        {
-            cluster_ = cluster;
-            locators_ = locators;
-            name_ = name;
-            var address = new Address();
-            address.address = "localhost";
-            address.port = 0;
-            Address = address;
-        }
-
-        public Address Address { get; private set; }
-
-        public int Start()
-        {
-            var result = -1;
-            if (!started_)
-            {
-                var server = cluster_.Gfsh
-                    .start()
-                    .server()
-                    .withDir(name_)
-                    .withName(name_.Replace('/', '_'))
-                    .withBindAddress(Address.address)
-                    .withPort(Address.port)
-                    .withMaxHeap("1g");
-                if (cluster_.UseSSL)
-                {
-                    server
-                        .withSslEnableComponents("all")
-                        .withSslKeyStore(cluster_.keyStore_)
-                        .withSslKeyStorePassword(cluster_.keyStorePassword_)
-                        .withSslTrustStore(cluster_.trustStore_)
-                        .withSslTrustStorePassword(cluster_.trustStorePassword_);
-
-                }
-                result = server.execute();
-                started_ = true;
-            }
-            return result;
-        }
-
-        public int Stop()
-        {
-            var result = cluster_.Gfsh
-                .stop()
-                .server()
-                .withDir(name_)
-                .execute();
-            started_ = false;
-            return result;
-        }
-    }
-}
diff --git a/netcore/shared/Config.cs.in b/netcore/shared/Config.cs.in
deleted file mode 100644
index 4111ec2..0000000
--- a/netcore/shared/Config.cs.in
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// GENERATED FROM Config.cs.in DO NOT EDIT Config.cs
-
-public class Config
-{
-  public static string GeodeGfsh
-  {
-    get { return @"@Geode_gfsh_EXECUTABLE@"; }
-  }
-
-  public static string JavaobjectJarPath
-  {
-    get { return @"@JAVAOBJECT_JAR_PATH@"; }
-  }
-
-  public static string SslServerKeyPath
-  {
-	get { return @"@CMAKE_CURRENT_SOURCE_DIR@/../../ssl_keys/server_keys"; }
-  }
-
-  public static string SslClientKeyPath
-  {
-	get { return @"@CMAKE_CURRENT_SOURCE_DIR@/../../ssl_keys/client_keys"; }
-  }
-
-  public static string SniConfigPath
-  {
-	get { return @"@CMAKE_CURRENT_SOURCE_DIR@/../../sni-test-config"; }
-  }
-}
diff --git a/netcore/shared/Framework.cs b/netcore/shared/Framework.cs
deleted file mode 100644
index d005c07..0000000
--- a/netcore/shared/Framework.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System.Net;
-using System.Net.Sockets;
-
-namespace Apache.Geode.Client.IntegrationTests
-{
-    public abstract class Framework
-    {
-        public static int FreeTcpPort()
-        {
-            var tcpListner = new TcpListener(IPAddress.Loopback, 0);
-            tcpListner.Start();
-            var port = ((IPEndPoint)tcpListner.LocalEndpoint).Port;
-            tcpListner.Stop();
-            return port;
-        }
-    }
-}
\ No newline at end of file
diff --git a/netcore/shared/Gfsh.cs b/netcore/shared/Gfsh.cs
deleted file mode 100644
index 14ba81b..0000000
--- a/netcore/shared/Gfsh.cs
+++ /dev/null
@@ -1,493 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System.Net;
-using System.Net.Sockets;
-
-namespace Apache.Geode.Client.IntegrationTests
-{
-    public abstract class Gfsh 
-    {
-
-        //TODO: Understand what C++ Command class is doing.  Why is it a template,
-        //when the only <T> class we're passing is void?  How can you call a ctor
-        //or a (non-existent?) 'parse' function on void?  So many questions...
-        public class Command
-        {
-            public Command(Gfsh gfsh, string command)
-            {
-                gfsh_ = gfsh;
-                command_ = command;
-            }
-
-            public int execute()
-            {
-                return gfsh_.execute(command_);
-            }
-
-            public override string ToString()
-            {
-                return command_;
-            }
-
-            protected Gfsh gfsh_;
-            protected string command_;
-        }
-
-        public class Start
-        {
-            public Start(Gfsh gfsh)
-            {
-                gfsh_ = gfsh;
-            }
-
-            public class Server : Command
-            {
-                public Server(Gfsh gfsh) : base(gfsh, "start server")
-                {
-                    gfsh_ = gfsh;
-                }
-
-                public Server withName(string name)
-                {
-                    command_ += " --name=" + name;
-                    return this;
-                }
-
-                public Server withDir(string dir)
-                {
-                    command_ += " --dir=" + dir;
-                    return this;
-                }
-
-                public Server withBindAddress(string bindAddress)
-                {
-                    command_ += " --bind-address=" + bindAddress;
-                    return this;
-                }
-
-                public Server withPort(int port)
-                {
-                    command_ += " --server-port=" + port.ToString();
-                    return this;
-                }
-
-                public Server withLocators(string locators)
-                {
-                    command_ += " --locators=" + locators;
-                    return this;
-                }
-
-                public Server withLogLevel(string logLevel)
-                {
-                    command_ += " --log-level=" + logLevel;
-                    return this;
-                }
-
-                public Server withMaxHeap(string maxHeap)
-                {
-                    command_ += " --max-heap=" + maxHeap;
-                    return this;
-                }
-
-               public Server withSslKeyStore(string keyStore)
-                {
-                    command_ += " --J=-Dgemfire.ssl-keystore=" + keyStore;
-                    return this;
-                }
-
-                public Server withSslKeyStorePassword(string keyStorePassword)
-                {
-                    command_ += " --J=-Dgemfire.ssl-keystore-password=" + keyStorePassword;
-                    return this;
-                }
-
-                public Server withSslTrustStore(string trustStore)
-                {
-                    command_ += " --J=-Dgemfire.ssl-truststore=" + trustStore;
-                    return this;
-                }
-
-                public Server withSslTrustStorePassword(string trustStorePassword)
-                {
-                    command_ += " --J=-Dgemfire.ssl-truststore-password=" + trustStorePassword;
-                    return this;
-                }
-
-                public Server withSslEnableComponents(string components)
-                {
-                    command_ += " --J=-Dgemfire.ssl-enabled-components=" + components;
-                    return this;
-                }
-            }
-
-            public Server server()
-            {
-                return new Server(gfsh_);
-            }
-
-            public class Locator : Command
-            {
-                public Locator(Gfsh gfsh) : base(gfsh, "start locator")
-                {
-                }
-
-                public Locator withName(string name)
-                {
-                    command_ += " --name=" + name;
-                    return this;
-                }
-
-                public Locator withDir(string dir)
-                {
-                    command_ += " --dir=" + dir;
-                    return this;
-                }
-
-                public Locator withBindAddress(string bindAddress)
-                {
-                    command_ += " --bind-address=" + bindAddress;
-                    return this;
-                }
-
-                public Locator withPort(int port)
-                {
-                    command_ += " --port=" + port;
-                    return this;
-                }
-
-                public Locator withJmxManagerPort(int jmxManagerPort)
-                {
-                    command_ += " --J=-Dgemfire.jmx-manager-port=" + jmxManagerPort;
-                    return this;
-                }
-
-                public Locator withJmxManagerStart(bool start)
-                {
-                    command_ += " --J=-Dgemfire.jmx-manager-start=" + (start ? "true" : "false");
-                    return this;
-                }
-                
-                public Locator withHttpServicePort(int httpServicePort)
-                {
-                    command_ += " --http-service-port=" + httpServicePort;
-                    return this;
-                }
-
-                public Locator withLogLevel(string logLevel)
-                {
-                    command_ += " --log-level=" + logLevel;
-                    return this;
-                }
-
-                public Locator withMaxHeap(string maxHeap)
-                {
-                    command_ += " --max-heap=" + maxHeap;
-                    return this;
-                }
-
-                public Locator withConnect(bool connect)
-                {
-                    command_ += " --connect=";
-                    command_ += connect ? "true" : "false";
-                    return this;
-                }
-
-                public Locator withSslKeyStore(string keyStore)
-                {
-                    command_ += " --J=-Dgemfire.ssl-keystore=" + keyStore;
-                    return this;
-                }
-
-                public Locator withSslKeyStorePassword(string keyStorePassword)
-                {
-                    command_ += " --J=-Dgemfire.ssl-keystore-password=" + keyStorePassword;
-                    return this;
-                }
-
-                public Locator withSslTrustStore(string trustStore)
-                {
-                    command_ += " --J=-Dgemfire.ssl-truststore=" + trustStore;
-                    return this;
-                }
-
-                public Locator withSslTrustStorePassword(string trustStorePassword)
-                {
-                    command_ += " --J=-Dgemfire.ssl-truststore-password=" + trustStorePassword;
-                    return this;
-                }
-
-                public Locator withSslEnableComponents(string components)
-                {
-                    command_ += " --J=-Dgemfire.ssl-enabled-components=" + components;
-                    return this;
-                }
-            }
-
-            public Locator locator()
-            {
-                return new Locator(gfsh_);
-            }
-
-            private Gfsh gfsh_;
-        }
-
-        public Start start()
-        {
-            return new Start(this);
-        }
-
-        public class Stop
-        {
-            public Stop(Gfsh gfsh)
-            {
-                gfsh_ = gfsh;
-            }
-
-            public class Locator : Command
-            {
-                public Locator(Gfsh gfsh) : base(gfsh, "stop locator")
-                {
-                }
-
-                public Locator withName(string name)
-                {
-                    command_ += " --name=" + name;
-                    return this;
-                }
-
-                public Locator withDir(string dir)
-                {
-                    command_ += " --dir=" + dir;
-                    return this;
-                }
-            }
-
-            public Locator locator()
-            {
-                return new Locator(gfsh_);
-            }
-
-            public class Server : Command
-            {
-                public Server(Gfsh gfsh) : base(gfsh, "stop server")
-                {
-                }
-
-                public Server withName(string name)
-                {
-                    command_ += " --name=" + name;
-                    return this;
-                }
-
-                public Server withDir(string dir)
-                {
-                    command_ += " --dir=" + dir;
-                    return this;
-                }
-            }
-            public Server server()
-            {
-                return new Server(gfsh_);
-            }
-
-            private Gfsh gfsh_;
-        }
-
-        public Stop stop()
-        {
-            return new Stop(this);
-        }
-
-        public class Create
-        {
-            public Create(Gfsh gfsh)
-            {
-                gfsh_ = gfsh;
-            }
-
-            public class Region : Command
-            {
-                public Region(Gfsh gfsh) : base(gfsh, "create region") { }
-
-                public Region withName(string name)
-                {
-                    command_ += " --name=" + name;
-                    return this;
-                }
-
-                public Region withType(string type)
-                {
-                    command_ += " --type=" + type;
-                    return this;
-                }
-            }
-
-            public Region region()
-            {
-                return new Region(gfsh_);
-            }
-
-            private Gfsh gfsh_;
-        }
-        public Create create()
-        {
-            return new Create(this);
-        }
-
-        public class Shutdown : Command
-        {
-            public Shutdown(Gfsh gfsh) : base(gfsh, "shutdown") { }
-
-            public Shutdown withIncludeLocators(bool includeLocators)
-            {
-                command_ += " --include-locators=";
-                command_ += includeLocators ? "true" : "false";
-                return this;
-            }
-        }
-
-        public Shutdown shutdown()
-        {
-            return new Shutdown(this);
-        }
-
-        public class Connect : Command
-        {
-            public Connect(Gfsh gfsh) : base(gfsh, "connect") { }
-
-            public Connect withJmxManager(string jmxManagerAddress, int jmxManagerPort)
-            {
-                command_ += " --jmx-manager=" + jmxManagerAddress + "[" + jmxManagerPort.ToString() + "]";
-                return this;
-            }
-
-            public Connect withUseSsl(bool enable)
-            {
-                command_ += " --use-ssl=" + (enable ? "true" : "false");
-                return this;
-            }
-
-            public Connect withKeyStore(string keyStore)
-            {
-                command_ += " --key-store=" + keyStore;
-                return this;
-            }
-
-            public Connect withKeyStorePassword(string keyStorePassword)
-            {
-                command_ += " --key-store-password=" + keyStorePassword;
-                return this;
-            }
-
-            public Connect withTrustStore(string trustStore)
-            {
-                command_ += " --trust-store=" + trustStore;
-                return this;
-            }
-
-            public Connect withTrustStorePassword(string trustStorePassword)
-            {
-                command_ += " --trust-store-password=" + trustStorePassword;
-                return this;
-            }
-        }
-
-        public Connect connect()
-        {
-            return new Connect(this);
-        }
-
-        public class ConfigurePdx : Command
-        {
-            public ConfigurePdx(Gfsh gfsh) : base(gfsh, "configure pdx") { }
-
-            public ConfigurePdx withReadSerialized(bool readSerialized)
-            {
-                command_ += " --read-serialized=";
-                command_ += readSerialized ? "true" : "false";
-                return this;
-            }
-        }
-
-        public ConfigurePdx configurePdx()
-        {
-            return new ConfigurePdx(this);
-        }
-
-        public class Deploy : Command
-        {
-            public Deploy(Gfsh gfsh) : base(gfsh, "deploy") { }
-
-            public Deploy withJar(string fullPathToJar)
-            {
-                command_ += " --jar=" + fullPathToJar;
-                return this;
-            }
-
-            public Deploy withDir(string fullPathToDir)
-            {
-                command_ += " --dir=" + fullPathToDir;
-                return this;
-            }
-
-            public Deploy withGroup(string groupName)
-            {
-                command_ += " --group=" + groupName;
-                return this;
-            }
-        }
-
-        public Deploy deploy()
-        {
-            return new Deploy(this);
-        }
-
-        public class ExecuteFunction : Command
-        {
-            public ExecuteFunction(Gfsh gfsh) : base(gfsh, "execute function") { }
-
-            public ExecuteFunction withId(string functionId)
-            {
-                command_ += " --id=" + functionId;
-                return this;
-            }
-
-            public ExecuteFunction withMember(string memberName)
-            {
-                command_ += " --member=" + memberName;
-                return this;
-            }
-        }
-
-        public ExecuteFunction executeFunction()
-        {
-            return new ExecuteFunction(this);
-        }
-
-        private static int FreeTcpPort()
-        {
-            var tcpListner = new TcpListener(IPAddress.Loopback, 0);
-            tcpListner.Start();
-            var port = ((IPEndPoint)tcpListner.LocalEndpoint).Port;
-            tcpListner.Stop();
-            return port;
-        }
-
-        public abstract int execute(string cmd);
-    }
-}
diff --git a/netcore/shared/GfshExecute.cs b/netcore/shared/GfshExecute.cs
deleted file mode 100644
index 99603d0..0000000
--- a/netcore/shared/GfshExecute.cs
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Diagnostics;
-using System.Text.RegularExpressions;
-using System.Collections.Generic;
-using Xunit.Abstractions;
-
-namespace Apache.Geode.Client.IntegrationTests
-{
-    public class GfshExecute : Gfsh
-    {
-        private String connectionCommand_ = null;
-        private ITestOutputHelper output;
-
-        public ITestOutputHelper Output
-        {
-          get { return output; }
-          set { output = value; }
-        }
-
-
-        public GfshExecute(ITestOutputHelper output)
-        {
-            this.output = output;
-        }
-
-        private void ExtractConnectionCommand(String command)
-        {
-            if (command.StartsWith("connect"))
-            {
-                connectionCommand_ = command;
-            }
-            else if (command.StartsWith("start locator"))
-            {
-                if (command.Contains("--connect=false"))
-                {
-                    return;
-                }
-
-                var jmxManagerHost = "localhost";
-                var jmxManagerPort = "1099";
-
-                var jmxManagerHostRegex = new Regex(@"\bbind-address=([^\s])\b");
-                var jmxManagerHostMatch = jmxManagerHostRegex.Match(command);
-
-                if (jmxManagerHostMatch.Success)
-                {
-                    jmxManagerHost = jmxManagerHostMatch.Groups[1].Value;
-                }
-
-                var jmxManagerPortRegex = new Regex(@"\bjmx-manager-port=(\d+)\b");
-                var jmxManagerPortMatch = jmxManagerPortRegex.Match(command);
-                if (jmxManagerPortMatch.Success)
-                {
-                    jmxManagerPort = jmxManagerPortMatch.Groups[1].Value;
-                }
-
-                connectionCommand_ = new Connect(this).withJmxManager(jmxManagerHost, int.Parse(jmxManagerPort)).ToString();
-            }
-
-        }
-
-        public override int execute(string cmd)
-        {
-
-            var commands = new List<string>();
-
-            if (null != connectionCommand_)
-            {
-                commands.Add("-e");
-                commands.Add(connectionCommand_);
-            }
-
-            commands.Add("-e");
-            commands.Add(cmd);
-
-            // TODO escape commands
-            var fullCmd = "\"" + string.Join("\" \"", commands) + "\"";
-
-            using var gfsh = new Process
-            {
-                StartInfo =
-                {
-                    FileName = Config.GeodeGfsh,
-                    Arguments = fullCmd,
-                    WindowStyle = ProcessWindowStyle.Hidden,
-                    UseShellExecute = false,
-                    RedirectStandardOutput = true,
-                    RedirectStandardError = true,
-                    CreateNoWindow = false
-                }
-            };
-
-            gfsh.OutputDataReceived += (sender, args) =>
-            {
-                if (args.Data != null)
-                {
-                    WriteLine("GfshExecute: " + args.Data);
-                }
-            };
-
-            gfsh.ErrorDataReceived += (sender, args) =>
-            {
-                if (args.Data != null)
-                {
-                    WriteLine("GfshExecute: ERROR: " + args.Data);
-                }
-            };
-
-            gfsh.Start();
-            gfsh.BeginOutputReadLine();
-            gfsh.BeginErrorReadLine();
-            if (gfsh.WaitForExit(60000))
-            {
-                WriteLine("GeodeServer Start: gfsh.HasExited = {0}, gfsh.ExitCode = {1}",
-                    gfsh.HasExited,
-                    gfsh.ExitCode);
-            }
-            else
-            {
-                WriteLine("GeodeServer Start: gfsh failed to exit, force killing.");
-                KillAndIgnore(gfsh);
-            }
-            CancelErrorReadAndIgnore(gfsh);
-            CancelOutputReadAndIgnore(gfsh);
-
-            ExtractConnectionCommand(cmd);
-
-            return gfsh.ExitCode;
-        }
-
-        private static void CancelOutputReadAndIgnore(Process gfsh)
-        {
-            try
-            {
-                gfsh.CancelOutputRead();
-            }
-            catch
-            {
-                // ignored
-            }
-        }
-
-        private static void CancelErrorReadAndIgnore(Process gfsh)
-        {
-            try
-            {
-                gfsh.CancelErrorRead();
-            }
-            catch
-            {
-                // ignored
-            }
-        }
-
-        private static void KillAndIgnore(Process gfsh)
-        {
-            try
-            {
-                gfsh.Kill();
-            }
-            catch
-            {
-                // ignored
-            }
-        }
-
-        private void WriteLine(string format, params object[] args)
-        {
-            if (null == output)
-            {
-                Debug.WriteLine(format, args);
-            }
-            else
-            {
-                output.WriteLine(format, args);
-            }
-        }
-
-        private void WriteLine(string message)
-        {
-            if (null == output)
-            {
-                Debug.WriteLine(message);
-            }
-            else
-            {
-                output.WriteLine(message);
-            }
-        }
-    }
-}
diff --git a/netcore/shared/TestBase.cs b/netcore/shared/TestBase.cs
deleted file mode 100644
index 20c8875..0000000
--- a/netcore/shared/TestBase.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System.IO;
-using System.Reflection;
-using Xunit;
-using Xunit.Abstractions;
-using Xunit.Sdk;
-
-namespace Apache.Geode.Client.IntegrationTests {
-    [Trait("Category", "Integration")]
-    public class TestBase
-    {
-        protected ITest currentTest;
-        protected ITestOutputHelper output;
-
-        public TestBase(ITestOutputHelper testOutputHelper)
-        {
-            var helper = (TestOutputHelper)testOutputHelper;
-
-            ITest test = (ITest)helper.GetType().GetField("test", BindingFlags.NonPublic | BindingFlags.Instance)
-                                      .GetValue(helper);
-
-            currentTest = test;
-            output = testOutputHelper;
-        }
-
-        public void CleanTestCaseDirectory(string directory)
-        {
-            if (Directory.Exists(directory))
-            {
-                Directory.Delete(directory, true);
-            }
-        }
-
-        public string CreateTestCaseDirectoryName()
-        {
-            return currentTest.TestCase.TestMethod.Method.Name;
-        }
-    }
-}
diff --git a/netcore/utility/CMakeLists.txt b/netcore/utility/CMakeLists.txt
deleted file mode 100644
index cf224d1..0000000
--- a/netcore/utility/CMakeLists.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-cmake_minimum_required (VERSION 3.10)
-project (netcore-utility)
-
-set (CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake)
-
-find_package(Geode REQUIRED)
-find_package(Java REQUIRED)
-
-include(UseJava)
-
-file(GLOB_RECURSE SOURCES "*.java")
-
-add_jar(netcore-utility ${SOURCES}
-  INCLUDE_JARS ${Geode_CLASSPATH}
-)
-
-file(GLOB SSL_CERTIFICATES 
-  "${CMAKE_CURRENT_SOURCE_DIR}/*Keys"
-)
-	
diff --git a/netcore/utility/SimpleSecurityManager.java b/netcore/utility/SimpleSecurityManager.java
deleted file mode 100644
index 7dc8bd7..0000000
--- a/netcore/utility/SimpleSecurityManager.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package javaobject;
-
-import org.apache.geode.security.AuthenticationFailedException;
-import org.apache.geode.security.SecurityManager;
-
-import java.util.Properties;
-
-import javaobject.UserPasswordAuthInit;
-import javaobject.UsernamePrincipal;
-
-/**
- * This Security manager only Authenticates - and allows any operations.
- */
-public class SimpleSecurityManager implements SecurityManager {
-
-
-    /**
-     * Verify the credentials provided in the properties
-     * <p>
-     * Your security manager needs to validate credentials coming from all communication channels.
-     * If you use AuthInitialize to generate your client/peer credentials, then the input of this
-     * method is the output of your AuthInitialize.getCredentials method. But remember that this
-     * method will also need to validate credentials coming from gfsh/jmx/rest client, the framework
-     * is putting the username/password under security-username and security-password keys in the
-     * property, so your securityManager implementation needs to validate these kind of properties
-     * as well.
-     *
-     * @param credentials it contains the security-username and security-password as keys of the
-     *                    properties, also the properties generated by your AuthInitialize interface
-     * @return a serializable principal object
-     */
-    @Override
-    public Object authenticate(Properties props) throws AuthenticationFailedException {
-        String userName = props.getProperty(UserPasswordAuthInit.USER_NAME);
-        if (userName == null) {
-            throw new AuthenticationFailedException(
-                    "SimpleSecurityManager: user name property ["
-                            + UserPasswordAuthInit.USER_NAME + "] not provided");
-        }
-        String password = props.getProperty(UserPasswordAuthInit.PASSWORD);
-        if (password == null) {
-            throw new AuthenticationFailedException(
-                    "SimpleSecurityManager: password property ["
-                            + UserPasswordAuthInit.PASSWORD + "] not provided");
-        }
-
-        if (userName.equals(password) && testValidName(userName)) {
-            return new UsernamePrincipal(userName);
-        } else {
-            throw new AuthenticationFailedException(
-                    "SimpleSecurityManager: Invalid user name [" + userName
-                            + "], password supplied.");
-        }
-    }
-
-    private boolean testValidName(String userName) {
-
-        return (userName.startsWith("server") || userName.startsWith("user")
-                || userName.startsWith("reader") || userName.startsWith("writer")
-                || userName.equals("admin")  || userName.equals("root")
-                || userName.equals("administrator"));
-    }
-}
diff --git a/netcore/utility/UserPasswordAuthInit.java b/netcore/utility/UserPasswordAuthInit.java
deleted file mode 100644
index d40ba67..0000000
--- a/netcore/utility/UserPasswordAuthInit.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package javaobject;
-
-import java.util.Properties;
-
-import org.apache.geode.LogWriter;
-import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.security.AuthInitialize;
-import org.apache.geode.security.AuthenticationFailedException;
-
-/**
- * An {@link AuthInitialize} implementation that obtains the user name and
- * password as the credentials from the given set of properties.
- * 
- * To use this class the <c>security-client-auth-init</c> property should be
- * set to the fully qualified name the static <code>create</code> function
- * viz. <code>templates.security.UserPasswordAuthInit.create</code>
- *
- */
-public class UserPasswordAuthInit implements AuthInitialize {
-
-  public static final String USER_NAME = "security-username";
-
-  public static final String PASSWORD = "security-password";
-
-  protected LogWriter securitylog;
-
-  protected LogWriter systemlog;
-
-  public static AuthInitialize create() {
-    return new UserPasswordAuthInit();
-  }
-
-  public void init(LogWriter systemLogger, LogWriter securityLogger)
-      throws AuthenticationFailedException {
-    this.systemlog = systemLogger;
-    this.securitylog = securityLogger;
-  }
-
-  public UserPasswordAuthInit() {
-  }
-
-  public Properties getCredentials(Properties props, DistributedMember server,
-      boolean isPeer) throws AuthenticationFailedException {
-
-    Properties newProps = new Properties();
-    String userName = props.getProperty(USER_NAME);
-    if (userName == null) {
-      throw new AuthenticationFailedException(
-          "UserPasswordAuthInit: user name property [" + USER_NAME
-              + "] not set.");
-    }
-    newProps.setProperty(USER_NAME, userName);
-    String passwd = props.getProperty(PASSWORD);
-    // If password is not provided then use empty string as the password.
-    if (passwd == null) {
-      passwd = "";
-    }
-    newProps.setProperty(PASSWORD, passwd);
-    return newProps;
-  }
-
-  public void close() {
-  }
-
-}
diff --git a/netcore/utility/UsernamePrincipal.java b/netcore/utility/UsernamePrincipal.java
deleted file mode 100644
index faeb770..0000000
--- a/netcore/utility/UsernamePrincipal.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package javaobject;
-
-import java.io.Serializable;
-import java.security.Principal;
-
-/**
- * An implementation of {@link Principal} class for a simple user name.
- * 
- */
-public class UsernamePrincipal implements Principal, Serializable {
-
-  private final String userName;
-
-  public UsernamePrincipal(String userName) {
-    this.userName = userName;
-  }
-
-  public String getName() {
-    return this.userName;
-  }
-
-  @Override
-  public String toString() {
-    return this.userName;
-  }
-
-}
diff --git a/packer/build-rhel-7.json b/packer/build-rhel-7.json
index 67465d2..186740c 100644
--- a/packer/build-rhel-7.json
+++ b/packer/build-rhel-7.json
@@ -122,8 +122,7 @@
         "rhel/disable-selinux.sh",
         "rhel/7/install-devtoolset.sh",
         "rhel/install-jdk-11.sh",
-        "linux/install-cmake.sh",
-        "linux/install-dotnet.sh"
+        "linux/install-cmake.sh"
       ]
     },
     {
diff --git a/packer/build-rhel-8.json b/packer/build-rhel-8.json
index c2acb6f..7874ce7 100644
--- a/packer/build-rhel-8.json
+++ b/packer/build-rhel-8.json
@@ -121,8 +121,7 @@
       "scripts": [
         "rhel/disable-selinux.sh",
         "rhel/install-jdk-11.sh",
-        "linux/install-cmake.sh",
-        "linux/install-dotnet.sh"
+        "linux/install-cmake.sh"
       ]
     },
     {
diff --git a/packer/build-ubuntu-16-04.json b/packer/build-ubuntu-16-04.json
index a5a45ca..3121907 100644
--- a/packer/build-ubuntu-16-04.json
+++ b/packer/build-ubuntu-16-04.json
@@ -101,8 +101,7 @@
       "scripts": [
         "linux/install-cmake.sh",
         "ubuntu/install-clang-format.sh",
-        "ubuntu/install-jdk-11.sh",
-        "linux/install-dotnet.sh"
+        "ubuntu/install-jdk-11.sh"
       ]
     },
     {
diff --git a/packer/build-ubuntu-18-04.json b/packer/build-ubuntu-18-04.json
index 34ea8b5..66acfa6 100644
--- a/packer/build-ubuntu-18-04.json
+++ b/packer/build-ubuntu-18-04.json
@@ -101,8 +101,7 @@
       "scripts": [
         "linux/install-cmake.sh",
         "ubuntu/install-clang-format.sh",
-        "ubuntu/install-jdk-11.sh",
-        "linux/install-dotnet.sh"
+        "ubuntu/install-jdk-11.sh"
       ]
     },
     {
diff --git a/packer/build-ubuntu-20-04.json b/packer/build-ubuntu-20-04.json
index add5702..47de7f5 100644
--- a/packer/build-ubuntu-20-04.json
+++ b/packer/build-ubuntu-20-04.json
@@ -101,8 +101,7 @@
       "scripts": [
         "ubuntu/install-clang-format.sh",
         "linux/install-cmake.sh",
-        "ubuntu/install-jdk-11.sh",
-        "linux/install-dotnet.sh"
+        "ubuntu/install-jdk-11.sh"
       ]
     },
     {
diff --git a/packer/build-windows-2016-vs-2017.json b/packer/build-windows-2016-vs-2017.json
index 7f1a4bf..0c7bb1d 100644
--- a/packer/build-windows-2016-vs-2017.json
+++ b/packer/build-windows-2016-vs-2017.json
@@ -93,7 +93,6 @@
         "choco install openssl -confirm",
         "choco install strawberryperl -confirm",
         "choco install nuget.commandline -confirm",
-        "choco install dotnetcore-sdk -confirm"
       ]
     },
     {
diff --git a/packer/build-windows-2019-vs-2017.json b/packer/build-windows-2019-vs-2017.json
index e5fc4cb..ff108d2 100644
--- a/packer/build-windows-2019-vs-2017.json
+++ b/packer/build-windows-2019-vs-2017.json
@@ -93,7 +93,6 @@
         "choco install openssl -confirm",
         "choco install strawberryperl -confirm",
         "choco install nuget.commandline -confirm",
-        "choco install dotnetcore-sdk -confirm"
       ]
     },
     {
diff --git a/packer/build-windows-2019-vs-2019.json b/packer/build-windows-2019-vs-2019.json
index 72718b6..3d8f117 100644
--- a/packer/build-windows-2019-vs-2019.json
+++ b/packer/build-windows-2019-vs-2019.json
@@ -93,7 +93,6 @@
         "choco install openssl -confirm",
         "choco install strawberryperl -confirm",
         "choco install nuget.commandline -confirm",
-        "choco install dotnetcore-sdk -confirm"
       ]
     },
     {