diff --git a/Snowflake.Data.AWS/Snowflake.Data.AWS.csproj b/Snowflake.Data.AWS/Snowflake.Data.AWS.csproj
new file mode 100644
index 000000000..818164f40
--- /dev/null
+++ b/Snowflake.Data.AWS/Snowflake.Data.AWS.csproj
@@ -0,0 +1,26 @@
+
+
+
+ netstandard2.0
+ Snowflake.Data.AWS
+ Snowflake.Data.AWS
+ Snowflake Connector AWS dependencies for .NET
+ https://github.com/snowflakedb/snowflake-connector-net/blob/master/LICENSE
+ https://github.com/snowflakedb/snowflake-connector-net
+ true
+ https://raw.githubusercontent.com/snowflakedb/snowflake-connector-net/master/Snowflake.Data/snowflake.ico
+ Snowflake Computing, Inc
+ Snowflake Connector for .NET
+ Snowflake
+ Copyright (c) 2012-2024 Snowflake Computing Inc. All rights reserved.
+ 3.1.1
+ Full
+ 7.3
+ Snowflake.Data.AWS
+
+
+
+
+
+
+
diff --git a/Snowflake.Data.Azure/Snowflake.Data.Azure.csproj b/Snowflake.Data.Azure/Snowflake.Data.Azure.csproj
new file mode 100644
index 000000000..137ce0347
--- /dev/null
+++ b/Snowflake.Data.Azure/Snowflake.Data.Azure.csproj
@@ -0,0 +1,26 @@
+
+
+
+ netstandard2.0
+ Snowflake.Data.Azure
+ Snowflake.Data.Azure
+ Snowflake Connector Azure dependencies for .NET
+ https://github.com/snowflakedb/snowflake-connector-net/blob/master/LICENSE
+ https://github.com/snowflakedb/snowflake-connector-net
+ true
+ https://raw.githubusercontent.com/snowflakedb/snowflake-connector-net/master/Snowflake.Data/snowflake.ico
+ Snowflake Computing, Inc
+ Snowflake Connector for .NET
+ Snowflake
+ Copyright (c) 2012-2024 Snowflake Computing Inc. All rights reserved.
+ 3.1.1
+ Full
+ 7.3
+ Snowflake.Data.Azure
+
+
+
+
+
+
+
diff --git a/Snowflake.Data/Client/SnowflakeDbCommand.cs b/Snowflake.Data.Core/Client/SnowflakeDbCommand.cs
similarity index 100%
rename from Snowflake.Data/Client/SnowflakeDbCommand.cs
rename to Snowflake.Data.Core/Client/SnowflakeDbCommand.cs
diff --git a/Snowflake.Data/Client/SnowflakeDbCommandBuilder.cs b/Snowflake.Data.Core/Client/SnowflakeDbCommandBuilder.cs
similarity index 100%
rename from Snowflake.Data/Client/SnowflakeDbCommandBuilder.cs
rename to Snowflake.Data.Core/Client/SnowflakeDbCommandBuilder.cs
diff --git a/Snowflake.Data/Client/SnowflakeDbConnection.cs b/Snowflake.Data.Core/Client/SnowflakeDbConnection.cs
similarity index 100%
rename from Snowflake.Data/Client/SnowflakeDbConnection.cs
rename to Snowflake.Data.Core/Client/SnowflakeDbConnection.cs
diff --git a/Snowflake.Data/Client/SnowflakeDbConnectionPool.cs b/Snowflake.Data.Core/Client/SnowflakeDbConnectionPool.cs
similarity index 100%
rename from Snowflake.Data/Client/SnowflakeDbConnectionPool.cs
rename to Snowflake.Data.Core/Client/SnowflakeDbConnectionPool.cs
diff --git a/Snowflake.Data/Client/SnowflakeDbConnectionStringBuilder.cs b/Snowflake.Data.Core/Client/SnowflakeDbConnectionStringBuilder.cs
similarity index 100%
rename from Snowflake.Data/Client/SnowflakeDbConnectionStringBuilder.cs
rename to Snowflake.Data.Core/Client/SnowflakeDbConnectionStringBuilder.cs
diff --git a/Snowflake.Data/Client/SnowflakeDbDataAdapter.cs b/Snowflake.Data.Core/Client/SnowflakeDbDataAdapter.cs
similarity index 100%
rename from Snowflake.Data/Client/SnowflakeDbDataAdapter.cs
rename to Snowflake.Data.Core/Client/SnowflakeDbDataAdapter.cs
diff --git a/Snowflake.Data/Client/SnowflakeDbDataReader.cs b/Snowflake.Data.Core/Client/SnowflakeDbDataReader.cs
similarity index 100%
rename from Snowflake.Data/Client/SnowflakeDbDataReader.cs
rename to Snowflake.Data.Core/Client/SnowflakeDbDataReader.cs
diff --git a/Snowflake.Data/Client/SnowflakeDbException.cs b/Snowflake.Data.Core/Client/SnowflakeDbException.cs
similarity index 100%
rename from Snowflake.Data/Client/SnowflakeDbException.cs
rename to Snowflake.Data.Core/Client/SnowflakeDbException.cs
diff --git a/Snowflake.Data/Client/SnowflakeDbFactory.cs b/Snowflake.Data.Core/Client/SnowflakeDbFactory.cs
similarity index 100%
rename from Snowflake.Data/Client/SnowflakeDbFactory.cs
rename to Snowflake.Data.Core/Client/SnowflakeDbFactory.cs
diff --git a/Snowflake.Data/Client/SnowflakeDbParameter.cs b/Snowflake.Data.Core/Client/SnowflakeDbParameter.cs
similarity index 100%
rename from Snowflake.Data/Client/SnowflakeDbParameter.cs
rename to Snowflake.Data.Core/Client/SnowflakeDbParameter.cs
diff --git a/Snowflake.Data/Client/SnowflakeDbParameterCollection.cs b/Snowflake.Data.Core/Client/SnowflakeDbParameterCollection.cs
similarity index 100%
rename from Snowflake.Data/Client/SnowflakeDbParameterCollection.cs
rename to Snowflake.Data.Core/Client/SnowflakeDbParameterCollection.cs
diff --git a/Snowflake.Data/Client/SnowflakeDbTransaction.cs b/Snowflake.Data.Core/Client/SnowflakeDbTransaction.cs
similarity index 100%
rename from Snowflake.Data/Client/SnowflakeDbTransaction.cs
rename to Snowflake.Data.Core/Client/SnowflakeDbTransaction.cs
diff --git a/Snowflake.Data/Configuration/ClientConfig.cs b/Snowflake.Data.Core/Configuration/ClientConfig.cs
similarity index 100%
rename from Snowflake.Data/Configuration/ClientConfig.cs
rename to Snowflake.Data.Core/Configuration/ClientConfig.cs
diff --git a/Snowflake.Data/Configuration/ClientConfigCommonProps.cs b/Snowflake.Data.Core/Configuration/ClientConfigCommonProps.cs
similarity index 100%
rename from Snowflake.Data/Configuration/ClientConfigCommonProps.cs
rename to Snowflake.Data.Core/Configuration/ClientConfigCommonProps.cs
diff --git a/Snowflake.Data/Configuration/EasyLoggingConfigFinder.cs b/Snowflake.Data.Core/Configuration/EasyLoggingConfigFinder.cs
similarity index 100%
rename from Snowflake.Data/Configuration/EasyLoggingConfigFinder.cs
rename to Snowflake.Data.Core/Configuration/EasyLoggingConfigFinder.cs
diff --git a/Snowflake.Data/Configuration/EasyLoggingConfigParser.cs b/Snowflake.Data.Core/Configuration/EasyLoggingConfigParser.cs
similarity index 100%
rename from Snowflake.Data/Configuration/EasyLoggingConfigParser.cs
rename to Snowflake.Data.Core/Configuration/EasyLoggingConfigParser.cs
diff --git a/Snowflake.Data/Configuration/EasyLoggingConfigProvider.cs b/Snowflake.Data.Core/Configuration/EasyLoggingConfigProvider.cs
similarity index 100%
rename from Snowflake.Data/Configuration/EasyLoggingConfigProvider.cs
rename to Snowflake.Data.Core/Configuration/EasyLoggingConfigProvider.cs
diff --git a/Snowflake.Data/Configuration/EasyLoggingLogLevel.cs b/Snowflake.Data.Core/Configuration/EasyLoggingLogLevel.cs
similarity index 100%
rename from Snowflake.Data/Configuration/EasyLoggingLogLevel.cs
rename to Snowflake.Data.Core/Configuration/EasyLoggingLogLevel.cs
diff --git a/Snowflake.Data/Configuration/SFConfiguration.cs b/Snowflake.Data.Core/Configuration/SFConfiguration.cs
similarity index 100%
rename from Snowflake.Data/Configuration/SFConfiguration.cs
rename to Snowflake.Data.Core/Configuration/SFConfiguration.cs
diff --git a/Snowflake.Data/Configuration/SFConfigurationSectionHandler.cs b/Snowflake.Data.Core/Configuration/SFConfigurationSectionHandler.cs
similarity index 100%
rename from Snowflake.Data/Configuration/SFConfigurationSectionHandler.cs
rename to Snowflake.Data.Core/Configuration/SFConfigurationSectionHandler.cs
diff --git a/Snowflake.Data/Core/ArrowChunkParser.cs b/Snowflake.Data.Core/Core/ArrowChunkParser.cs
similarity index 100%
rename from Snowflake.Data/Core/ArrowChunkParser.cs
rename to Snowflake.Data.Core/Core/ArrowChunkParser.cs
diff --git a/Snowflake.Data/Core/ArrowResultChunk.cs b/Snowflake.Data.Core/Core/ArrowResultChunk.cs
similarity index 100%
rename from Snowflake.Data/Core/ArrowResultChunk.cs
rename to Snowflake.Data.Core/Core/ArrowResultChunk.cs
diff --git a/Snowflake.Data/Core/ArrowResultSet.cs b/Snowflake.Data.Core/Core/ArrowResultSet.cs
similarity index 100%
rename from Snowflake.Data/Core/ArrowResultSet.cs
rename to Snowflake.Data.Core/Core/ArrowResultSet.cs
diff --git a/Snowflake.Data/Core/Authenticator/BasicAuthenticator.cs b/Snowflake.Data.Core/Core/Authenticator/BasicAuthenticator.cs
similarity index 100%
rename from Snowflake.Data/Core/Authenticator/BasicAuthenticator.cs
rename to Snowflake.Data.Core/Core/Authenticator/BasicAuthenticator.cs
diff --git a/Snowflake.Data/Core/Authenticator/ExternalBrowserAuthenticator.cs b/Snowflake.Data.Core/Core/Authenticator/ExternalBrowserAuthenticator.cs
similarity index 100%
rename from Snowflake.Data/Core/Authenticator/ExternalBrowserAuthenticator.cs
rename to Snowflake.Data.Core/Core/Authenticator/ExternalBrowserAuthenticator.cs
diff --git a/Snowflake.Data/Core/Authenticator/IAuthenticator.cs b/Snowflake.Data.Core/Core/Authenticator/IAuthenticator.cs
similarity index 100%
rename from Snowflake.Data/Core/Authenticator/IAuthenticator.cs
rename to Snowflake.Data.Core/Core/Authenticator/IAuthenticator.cs
diff --git a/Snowflake.Data/Core/Authenticator/KeyPairAuthenticator.cs b/Snowflake.Data.Core/Core/Authenticator/KeyPairAuthenticator.cs
similarity index 100%
rename from Snowflake.Data/Core/Authenticator/KeyPairAuthenticator.cs
rename to Snowflake.Data.Core/Core/Authenticator/KeyPairAuthenticator.cs
diff --git a/Snowflake.Data/Core/Authenticator/OAuthAuthenticator.cs b/Snowflake.Data.Core/Core/Authenticator/OAuthAuthenticator.cs
similarity index 100%
rename from Snowflake.Data/Core/Authenticator/OAuthAuthenticator.cs
rename to Snowflake.Data.Core/Core/Authenticator/OAuthAuthenticator.cs
diff --git a/Snowflake.Data/Core/Authenticator/OktaAuthenticator.cs b/Snowflake.Data.Core/Core/Authenticator/OktaAuthenticator.cs
similarity index 100%
rename from Snowflake.Data/Core/Authenticator/OktaAuthenticator.cs
rename to Snowflake.Data.Core/Core/Authenticator/OktaAuthenticator.cs
diff --git a/Snowflake.Data/Core/BaseResultChunk.cs b/Snowflake.Data.Core/Core/BaseResultChunk.cs
similarity index 100%
rename from Snowflake.Data/Core/BaseResultChunk.cs
rename to Snowflake.Data.Core/Core/BaseResultChunk.cs
diff --git a/Snowflake.Data/Core/ChunkDeserializer.cs b/Snowflake.Data.Core/Core/ChunkDeserializer.cs
similarity index 100%
rename from Snowflake.Data/Core/ChunkDeserializer.cs
rename to Snowflake.Data.Core/Core/ChunkDeserializer.cs
diff --git a/Snowflake.Data/Core/ChunkDownloaderFactory.cs b/Snowflake.Data.Core/Core/ChunkDownloaderFactory.cs
similarity index 100%
rename from Snowflake.Data/Core/ChunkDownloaderFactory.cs
rename to Snowflake.Data.Core/Core/ChunkDownloaderFactory.cs
diff --git a/Snowflake.Data/Core/ChunkParserFactory.cs b/Snowflake.Data.Core/Core/ChunkParserFactory.cs
similarity index 100%
rename from Snowflake.Data/Core/ChunkParserFactory.cs
rename to Snowflake.Data.Core/Core/ChunkParserFactory.cs
diff --git a/Snowflake.Data/Core/ConcatenatedStream.cs b/Snowflake.Data.Core/Core/ConcatenatedStream.cs
similarity index 100%
rename from Snowflake.Data/Core/ConcatenatedStream.cs
rename to Snowflake.Data.Core/Core/ConcatenatedStream.cs
diff --git a/Snowflake.Data/Core/ErrorMessages.Designer.cs b/Snowflake.Data.Core/Core/ErrorMessages.Designer.cs
similarity index 100%
rename from Snowflake.Data/Core/ErrorMessages.Designer.cs
rename to Snowflake.Data.Core/Core/ErrorMessages.Designer.cs
diff --git a/Snowflake.Data/Core/ErrorMessages.resx b/Snowflake.Data.Core/Core/ErrorMessages.resx
similarity index 100%
rename from Snowflake.Data/Core/ErrorMessages.resx
rename to Snowflake.Data.Core/Core/ErrorMessages.resx
diff --git a/Snowflake.Data/Core/FastMemoryStream.cs b/Snowflake.Data.Core/Core/FastMemoryStream.cs
similarity index 100%
rename from Snowflake.Data/Core/FastMemoryStream.cs
rename to Snowflake.Data.Core/Core/FastMemoryStream.cs
diff --git a/Snowflake.Data/Core/FastParser.cs b/Snowflake.Data.Core/Core/FastParser.cs
similarity index 100%
rename from Snowflake.Data/Core/FastParser.cs
rename to Snowflake.Data.Core/Core/FastParser.cs
diff --git a/Snowflake.Data/Core/FileTransfer/EncryptionProvider.cs b/Snowflake.Data.Core/Core/FileTransfer/EncryptionProvider.cs
similarity index 100%
rename from Snowflake.Data/Core/FileTransfer/EncryptionProvider.cs
rename to Snowflake.Data.Core/Core/FileTransfer/EncryptionProvider.cs
diff --git a/Snowflake.Data/Core/FileTransfer/FileBackedOutputStream.cs b/Snowflake.Data.Core/Core/FileTransfer/FileBackedOutputStream.cs
similarity index 100%
rename from Snowflake.Data/Core/FileTransfer/FileBackedOutputStream.cs
rename to Snowflake.Data.Core/Core/FileTransfer/FileBackedOutputStream.cs
diff --git a/Snowflake.Data/Core/FileTransfer/SFFileCompressionTypes.cs b/Snowflake.Data.Core/Core/FileTransfer/SFFileCompressionTypes.cs
similarity index 100%
rename from Snowflake.Data/Core/FileTransfer/SFFileCompressionTypes.cs
rename to Snowflake.Data.Core/Core/FileTransfer/SFFileCompressionTypes.cs
diff --git a/Snowflake.Data/Core/FileTransfer/SFFileMetadata.cs b/Snowflake.Data.Core/Core/FileTransfer/SFFileMetadata.cs
similarity index 100%
rename from Snowflake.Data/Core/FileTransfer/SFFileMetadata.cs
rename to Snowflake.Data.Core/Core/FileTransfer/SFFileMetadata.cs
diff --git a/Snowflake.Data/Core/FileTransfer/SFFileTransferAgent.cs b/Snowflake.Data.Core/Core/FileTransfer/SFFileTransferAgent.cs
similarity index 100%
rename from Snowflake.Data/Core/FileTransfer/SFFileTransferAgent.cs
rename to Snowflake.Data.Core/Core/FileTransfer/SFFileTransferAgent.cs
diff --git a/Snowflake.Data/Core/FileTransfer/StorageClient/ISFRemoteStorageClient.cs b/Snowflake.Data.Core/Core/FileTransfer/StorageClient/ISFRemoteStorageClient.cs
similarity index 100%
rename from Snowflake.Data/Core/FileTransfer/StorageClient/ISFRemoteStorageClient.cs
rename to Snowflake.Data.Core/Core/FileTransfer/StorageClient/ISFRemoteStorageClient.cs
diff --git a/Snowflake.Data/Core/FileTransfer/StorageClient/SFGCSClient.cs b/Snowflake.Data.Core/Core/FileTransfer/StorageClient/SFGCSClient.cs
similarity index 100%
rename from Snowflake.Data/Core/FileTransfer/StorageClient/SFGCSClient.cs
rename to Snowflake.Data.Core/Core/FileTransfer/StorageClient/SFGCSClient.cs
diff --git a/Snowflake.Data/Core/FileTransfer/StorageClient/SFLocalStorageUtil.cs b/Snowflake.Data.Core/Core/FileTransfer/StorageClient/SFLocalStorageUtil.cs
similarity index 100%
rename from Snowflake.Data/Core/FileTransfer/StorageClient/SFLocalStorageUtil.cs
rename to Snowflake.Data.Core/Core/FileTransfer/StorageClient/SFLocalStorageUtil.cs
diff --git a/Snowflake.Data/Core/FileTransfer/StorageClient/SFRemoteStorageUtil.cs b/Snowflake.Data.Core/Core/FileTransfer/StorageClient/SFRemoteStorageUtil.cs
similarity index 100%
rename from Snowflake.Data/Core/FileTransfer/StorageClient/SFRemoteStorageUtil.cs
rename to Snowflake.Data.Core/Core/FileTransfer/StorageClient/SFRemoteStorageUtil.cs
diff --git a/Snowflake.Data/Core/FileTransfer/StorageClient/SFS3Client.cs b/Snowflake.Data.Core/Core/FileTransfer/StorageClient/SFS3Client.cs
similarity index 100%
rename from Snowflake.Data/Core/FileTransfer/StorageClient/SFS3Client.cs
rename to Snowflake.Data.Core/Core/FileTransfer/StorageClient/SFS3Client.cs
diff --git a/Snowflake.Data/Core/FileTransfer/StorageClient/SFSnowflakeAzureClient.cs b/Snowflake.Data.Core/Core/FileTransfer/StorageClient/SFSnowflakeAzureClient.cs
similarity index 100%
rename from Snowflake.Data/Core/FileTransfer/StorageClient/SFSnowflakeAzureClient.cs
rename to Snowflake.Data.Core/Core/FileTransfer/StorageClient/SFSnowflakeAzureClient.cs
diff --git a/Snowflake.Data/Core/HeartBeatBackground.cs b/Snowflake.Data.Core/Core/HeartBeatBackground.cs
similarity index 100%
rename from Snowflake.Data/Core/HeartBeatBackground.cs
rename to Snowflake.Data.Core/Core/HeartBeatBackground.cs
diff --git a/Snowflake.Data/Core/HttpUtil.cs b/Snowflake.Data.Core/Core/HttpUtil.cs
similarity index 100%
rename from Snowflake.Data/Core/HttpUtil.cs
rename to Snowflake.Data.Core/Core/HttpUtil.cs
diff --git a/Snowflake.Data/Core/IChunkDownloader.cs b/Snowflake.Data.Core/Core/IChunkDownloader.cs
similarity index 100%
rename from Snowflake.Data/Core/IChunkDownloader.cs
rename to Snowflake.Data.Core/Core/IChunkDownloader.cs
diff --git a/Snowflake.Data/Core/IChunkParser.cs b/Snowflake.Data.Core/Core/IChunkParser.cs
similarity index 100%
rename from Snowflake.Data/Core/IChunkParser.cs
rename to Snowflake.Data.Core/Core/IChunkParser.cs
diff --git a/Snowflake.Data/Core/IChunkParserFactory.cs b/Snowflake.Data.Core/Core/IChunkParserFactory.cs
similarity index 100%
rename from Snowflake.Data/Core/IChunkParserFactory.cs
rename to Snowflake.Data.Core/Core/IChunkParserFactory.cs
diff --git a/Snowflake.Data/Core/IResultChunk.cs b/Snowflake.Data.Core/Core/IResultChunk.cs
similarity index 100%
rename from Snowflake.Data/Core/IResultChunk.cs
rename to Snowflake.Data.Core/Core/IResultChunk.cs
diff --git a/Snowflake.Data/Core/JsonUtils.cs b/Snowflake.Data.Core/Core/JsonUtils.cs
similarity index 100%
rename from Snowflake.Data/Core/JsonUtils.cs
rename to Snowflake.Data.Core/Core/JsonUtils.cs
diff --git a/Snowflake.Data/Core/ParameterBinding.cs b/Snowflake.Data.Core/Core/ParameterBinding.cs
similarity index 100%
rename from Snowflake.Data/Core/ParameterBinding.cs
rename to Snowflake.Data.Core/Core/ParameterBinding.cs
diff --git a/Snowflake.Data/Core/QueryContextCache.cs b/Snowflake.Data.Core/Core/QueryContextCache.cs
similarity index 100%
rename from Snowflake.Data/Core/QueryContextCache.cs
rename to Snowflake.Data.Core/Core/QueryContextCache.cs
diff --git a/Snowflake.Data/Core/QueryResultsAwaiter.cs b/Snowflake.Data.Core/Core/QueryResultsAwaiter.cs
similarity index 100%
rename from Snowflake.Data/Core/QueryResultsAwaiter.cs
rename to Snowflake.Data.Core/Core/QueryResultsAwaiter.cs
diff --git a/Snowflake.Data/Core/RestParams.cs b/Snowflake.Data.Core/Core/RestParams.cs
similarity index 100%
rename from Snowflake.Data/Core/RestParams.cs
rename to Snowflake.Data.Core/Core/RestParams.cs
diff --git a/Snowflake.Data/Core/RestRequest.cs b/Snowflake.Data.Core/Core/RestRequest.cs
similarity index 100%
rename from Snowflake.Data/Core/RestRequest.cs
rename to Snowflake.Data.Core/Core/RestRequest.cs
diff --git a/Snowflake.Data/Core/RestRequester.cs b/Snowflake.Data.Core/Core/RestRequester.cs
similarity index 100%
rename from Snowflake.Data/Core/RestRequester.cs
rename to Snowflake.Data.Core/Core/RestRequester.cs
diff --git a/Snowflake.Data/Core/RestResponse.cs b/Snowflake.Data.Core/Core/RestResponse.cs
similarity index 100%
rename from Snowflake.Data/Core/RestResponse.cs
rename to Snowflake.Data.Core/Core/RestResponse.cs
diff --git a/Snowflake.Data/Core/ResultSetUtil.cs b/Snowflake.Data.Core/Core/ResultSetUtil.cs
similarity index 100%
rename from Snowflake.Data/Core/ResultSetUtil.cs
rename to Snowflake.Data.Core/Core/ResultSetUtil.cs
diff --git a/Snowflake.Data/Core/ReusableChunkParser.cs b/Snowflake.Data.Core/Core/ReusableChunkParser.cs
similarity index 100%
rename from Snowflake.Data/Core/ReusableChunkParser.cs
rename to Snowflake.Data.Core/Core/ReusableChunkParser.cs
diff --git a/Snowflake.Data/Core/SFBaseResultSet.cs b/Snowflake.Data.Core/Core/SFBaseResultSet.cs
similarity index 100%
rename from Snowflake.Data/Core/SFBaseResultSet.cs
rename to Snowflake.Data.Core/Core/SFBaseResultSet.cs
diff --git a/Snowflake.Data/Core/SFBindUploader.cs b/Snowflake.Data.Core/Core/SFBindUploader.cs
similarity index 100%
rename from Snowflake.Data/Core/SFBindUploader.cs
rename to Snowflake.Data.Core/Core/SFBindUploader.cs
diff --git a/Snowflake.Data/Core/SFBlockingChunkDownloaderV3.cs b/Snowflake.Data.Core/Core/SFBlockingChunkDownloaderV3.cs
similarity index 100%
rename from Snowflake.Data/Core/SFBlockingChunkDownloaderV3.cs
rename to Snowflake.Data.Core/Core/SFBlockingChunkDownloaderV3.cs
diff --git a/Snowflake.Data/Core/SFDataConverter.cs b/Snowflake.Data.Core/Core/SFDataConverter.cs
similarity index 100%
rename from Snowflake.Data/Core/SFDataConverter.cs
rename to Snowflake.Data.Core/Core/SFDataConverter.cs
diff --git a/Snowflake.Data/Core/SFError.cs b/Snowflake.Data.Core/Core/SFError.cs
similarity index 100%
rename from Snowflake.Data/Core/SFError.cs
rename to Snowflake.Data.Core/Core/SFError.cs
diff --git a/Snowflake.Data/Core/SFMultiStatementsResultSet.cs b/Snowflake.Data.Core/Core/SFMultiStatementsResultSet.cs
similarity index 100%
rename from Snowflake.Data/Core/SFMultiStatementsResultSet.cs
rename to Snowflake.Data.Core/Core/SFMultiStatementsResultSet.cs
diff --git a/Snowflake.Data/Core/SFResultChunk.cs b/Snowflake.Data.Core/Core/SFResultChunk.cs
similarity index 100%
rename from Snowflake.Data/Core/SFResultChunk.cs
rename to Snowflake.Data.Core/Core/SFResultChunk.cs
diff --git a/Snowflake.Data/Core/SFResultSet.cs b/Snowflake.Data.Core/Core/SFResultSet.cs
similarity index 100%
rename from Snowflake.Data/Core/SFResultSet.cs
rename to Snowflake.Data.Core/Core/SFResultSet.cs
diff --git a/Snowflake.Data/Core/SFResultSetMetaData.cs b/Snowflake.Data.Core/Core/SFResultSetMetaData.cs
similarity index 100%
rename from Snowflake.Data/Core/SFResultSetMetaData.cs
rename to Snowflake.Data.Core/Core/SFResultSetMetaData.cs
diff --git a/Snowflake.Data/Core/SFReusableChunk.cs b/Snowflake.Data.Core/Core/SFReusableChunk.cs
similarity index 100%
rename from Snowflake.Data/Core/SFReusableChunk.cs
rename to Snowflake.Data.Core/Core/SFReusableChunk.cs
diff --git a/Snowflake.Data/Core/SFStatement.cs b/Snowflake.Data.Core/Core/SFStatement.cs
similarity index 100%
rename from Snowflake.Data/Core/SFStatement.cs
rename to Snowflake.Data.Core/Core/SFStatement.cs
diff --git a/Snowflake.Data/Core/Session/ConnectionCacheManager.cs b/Snowflake.Data.Core/Core/Session/ConnectionCacheManager.cs
similarity index 100%
rename from Snowflake.Data/Core/Session/ConnectionCacheManager.cs
rename to Snowflake.Data.Core/Core/Session/ConnectionCacheManager.cs
diff --git a/Snowflake.Data/Core/Session/EasyLoggingStarter.cs b/Snowflake.Data.Core/Core/Session/EasyLoggingStarter.cs
similarity index 100%
rename from Snowflake.Data/Core/Session/EasyLoggingStarter.cs
rename to Snowflake.Data.Core/Core/Session/EasyLoggingStarter.cs
diff --git a/Snowflake.Data/Core/Session/IConnectionManager.cs b/Snowflake.Data.Core/Core/Session/IConnectionManager.cs
similarity index 100%
rename from Snowflake.Data/Core/Session/IConnectionManager.cs
rename to Snowflake.Data.Core/Core/Session/IConnectionManager.cs
diff --git a/Snowflake.Data/Core/Session/SFSession.cs b/Snowflake.Data.Core/Core/Session/SFSession.cs
similarity index 100%
rename from Snowflake.Data/Core/Session/SFSession.cs
rename to Snowflake.Data.Core/Core/Session/SFSession.cs
diff --git a/Snowflake.Data/Core/Session/SFSessionHttpClientProperties.cs b/Snowflake.Data.Core/Core/Session/SFSessionHttpClientProperties.cs
similarity index 100%
rename from Snowflake.Data/Core/Session/SFSessionHttpClientProperties.cs
rename to Snowflake.Data.Core/Core/Session/SFSessionHttpClientProperties.cs
diff --git a/Snowflake.Data/Core/Session/SFSessionHttpClientProxyProperties.cs b/Snowflake.Data.Core/Core/Session/SFSessionHttpClientProxyProperties.cs
similarity index 100%
rename from Snowflake.Data/Core/Session/SFSessionHttpClientProxyProperties.cs
rename to Snowflake.Data.Core/Core/Session/SFSessionHttpClientProxyProperties.cs
diff --git a/Snowflake.Data/Core/Session/SFSessionParameter.cs b/Snowflake.Data.Core/Core/Session/SFSessionParameter.cs
similarity index 100%
rename from Snowflake.Data/Core/Session/SFSessionParameter.cs
rename to Snowflake.Data.Core/Core/Session/SFSessionParameter.cs
diff --git a/Snowflake.Data/Core/Session/SFSessionProperty.cs b/Snowflake.Data.Core/Core/Session/SFSessionProperty.cs
similarity index 100%
rename from Snowflake.Data/Core/Session/SFSessionProperty.cs
rename to Snowflake.Data.Core/Core/Session/SFSessionProperty.cs
diff --git a/Snowflake.Data/Core/Session/SessionPool.cs b/Snowflake.Data.Core/Core/Session/SessionPool.cs
similarity index 100%
rename from Snowflake.Data/Core/Session/SessionPool.cs
rename to Snowflake.Data.Core/Core/Session/SessionPool.cs
diff --git a/Snowflake.Data/Core/Tools/DirectoryOperations.cs b/Snowflake.Data.Core/Core/Tools/DirectoryOperations.cs
similarity index 100%
rename from Snowflake.Data/Core/Tools/DirectoryOperations.cs
rename to Snowflake.Data.Core/Core/Tools/DirectoryOperations.cs
diff --git a/Snowflake.Data/Core/Tools/EnvironmentOperations.cs b/Snowflake.Data.Core/Core/Tools/EnvironmentOperations.cs
similarity index 100%
rename from Snowflake.Data/Core/Tools/EnvironmentOperations.cs
rename to Snowflake.Data.Core/Core/Tools/EnvironmentOperations.cs
diff --git a/Snowflake.Data/Core/Tools/FileOperations.cs b/Snowflake.Data.Core/Core/Tools/FileOperations.cs
similarity index 100%
rename from Snowflake.Data/Core/Tools/FileOperations.cs
rename to Snowflake.Data.Core/Core/Tools/FileOperations.cs
diff --git a/Snowflake.Data/Core/Tools/HomeDirectoryProvider.cs b/Snowflake.Data.Core/Core/Tools/HomeDirectoryProvider.cs
similarity index 100%
rename from Snowflake.Data/Core/Tools/HomeDirectoryProvider.cs
rename to Snowflake.Data.Core/Core/Tools/HomeDirectoryProvider.cs
diff --git a/Snowflake.Data/Core/Tools/UnixOperations.cs b/Snowflake.Data.Core/Core/Tools/UnixOperations.cs
similarity index 100%
rename from Snowflake.Data/Core/Tools/UnixOperations.cs
rename to Snowflake.Data.Core/Core/Tools/UnixOperations.cs
diff --git a/Snowflake.Data/Core/UTF8Buffer.cs b/Snowflake.Data.Core/Core/UTF8Buffer.cs
similarity index 100%
rename from Snowflake.Data/Core/UTF8Buffer.cs
rename to Snowflake.Data.Core/Core/UTF8Buffer.cs
diff --git a/Snowflake.Data/Logger/EasyLoggerManager.cs b/Snowflake.Data.Core/Logger/EasyLoggerManager.cs
similarity index 100%
rename from Snowflake.Data/Logger/EasyLoggerManager.cs
rename to Snowflake.Data.Core/Logger/EasyLoggerManager.cs
diff --git a/Snowflake.Data/Logger/EasyLoggingLevelMapper.cs b/Snowflake.Data.Core/Logger/EasyLoggingLevelMapper.cs
similarity index 100%
rename from Snowflake.Data/Logger/EasyLoggingLevelMapper.cs
rename to Snowflake.Data.Core/Logger/EasyLoggingLevelMapper.cs
diff --git a/Snowflake.Data/Logger/Log4netImpl.cs b/Snowflake.Data.Core/Logger/Log4netImpl.cs
similarity index 100%
rename from Snowflake.Data/Logger/Log4netImpl.cs
rename to Snowflake.Data.Core/Logger/Log4netImpl.cs
diff --git a/Snowflake.Data/Logger/SFLogger.cs b/Snowflake.Data.Core/Logger/SFLogger.cs
similarity index 100%
rename from Snowflake.Data/Logger/SFLogger.cs
rename to Snowflake.Data.Core/Logger/SFLogger.cs
diff --git a/Snowflake.Data/Logger/SFLoggerEmptyImpl.cs b/Snowflake.Data.Core/Logger/SFLoggerEmptyImpl.cs
similarity index 100%
rename from Snowflake.Data/Logger/SFLoggerEmptyImpl.cs
rename to Snowflake.Data.Core/Logger/SFLoggerEmptyImpl.cs
diff --git a/Snowflake.Data/Logger/SFLoggerFactory.cs b/Snowflake.Data.Core/Logger/SFLoggerFactory.cs
similarity index 100%
rename from Snowflake.Data/Logger/SFLoggerFactory.cs
rename to Snowflake.Data.Core/Logger/SFLoggerFactory.cs
diff --git a/Snowflake.Data/Logger/SecretDetector.cs b/Snowflake.Data.Core/Logger/SecretDetector.cs
similarity index 100%
rename from Snowflake.Data/Logger/SecretDetector.cs
rename to Snowflake.Data.Core/Logger/SecretDetector.cs
diff --git a/Snowflake.Data/Logger/UnixFilePermissionsConverter .cs b/Snowflake.Data.Core/Logger/UnixFilePermissionsConverter .cs
similarity index 100%
rename from Snowflake.Data/Logger/UnixFilePermissionsConverter .cs
rename to Snowflake.Data.Core/Logger/UnixFilePermissionsConverter .cs
diff --git a/Snowflake.Data.Core/Snowflake.Data.Core.csproj b/Snowflake.Data.Core/Snowflake.Data.Core.csproj
new file mode 100644
index 000000000..15e5d8a5c
--- /dev/null
+++ b/Snowflake.Data.Core/Snowflake.Data.Core.csproj
@@ -0,0 +1,78 @@
+
+
+ net6.0;net471;net472
+ net6.0
+ Snowflake.Data.Core
+ Snowflake.Data.Core
+ Snowflake Connector Core Library for .NET
+ https://github.com/snowflakedb/snowflake-connector-net/blob/master/LICENSE
+ https://github.com/snowflakedb/snowflake-connector-net
+ true
+ https://raw.githubusercontent.com/snowflakedb/snowflake-connector-net/master/Snowflake.Data/snowflake.ico
+ Snowflake Computing, Inc
+ Snowflake Connector for .NET
+ howryu, tchen
+ Copyright (c) 2012-2023 Snowflake Computing Inc. All rights reserved.
+ 3.1.1
+ Full
+ 7.3
+ Snowflake.Data
+
+
+
+
+
+ Runtime,Build,Native,Analyzers,BuildTransitive
+ compile
+
+
+ Runtime,Build,Native,Analyzers,BuildTransitive
+ compile
+
+
+ Runtime,Build,Native,Analyzers,BuildTransitive
+ compile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ full
+ True
+
+
+
+ full
+ True
+
+
+
+ true
+ true
+ $(Version)
+
+
+
+
+
+
diff --git a/Snowflake.Data/snowflake.ico b/Snowflake.Data.Core/snowflake.ico
similarity index 100%
rename from Snowflake.Data/snowflake.ico
rename to Snowflake.Data.Core/snowflake.ico
diff --git a/Snowflake.Data.GCP/Snowflake.Data.GCP.csproj b/Snowflake.Data.GCP/Snowflake.Data.GCP.csproj
new file mode 100644
index 000000000..77a9653f2
--- /dev/null
+++ b/Snowflake.Data.GCP/Snowflake.Data.GCP.csproj
@@ -0,0 +1,26 @@
+
+
+
+ netstandard2.0
+ Snowflake.Data.GCP
+ Snowflake.Data.GCP
+ Snowflake Connector GCP dependencies for .NET
+ https://github.com/snowflakedb/snowflake-connector-net/blob/master/LICENSE
+ https://github.com/snowflakedb/snowflake-connector-net
+ true
+ https://raw.githubusercontent.com/snowflakedb/snowflake-connector-net/master/Snowflake.Data/snowflake.ico
+ Snowflake Computing, Inc
+ Snowflake Connector for .NET
+ Snowflake
+ Copyright (c) 2012-2024 Snowflake Computing Inc. All rights reserved.
+ 3.1.1
+ Full
+ 7.3
+ Snowflake.Data.GCP
+
+
+
+
+
+
+
diff --git a/Snowflake.Data.Tests/App.config b/Snowflake.Data.Tests/App.config
index 5e3dd1335..ce76bb1dd 100755
--- a/Snowflake.Data.Tests/App.config
+++ b/Snowflake.Data.Tests/App.config
@@ -40,12 +40,12 @@ Copyright (c) 2012-2017 Snowflake Computing Inc. All rights reserved.
-
-
-
-
-
- full
- True
-
-
-
- full
- True
-
-
-
- true
- true
- $(Version)
-
-
-
-
-
-
+
+
+
+ net6.0;net471;net472
+ net6.0
+ Snowflake.Data
+ Snowflake.Data
+ Snowflake Connector for .NET
+ https://github.com/snowflakedb/snowflake-connector-net/blob/master/LICENSE
+ https://github.com/snowflakedb/snowflake-connector-net
+ true
+ https://raw.githubusercontent.com/snowflakedb/snowflake-connector-net/master/Snowflake.Data/snowflake.ico
+ Snowflake Connector for .NET
+ Snowflake Computing, Inc
+ Snowflake Connector for .NET
+ howryu, tchen
+ Copyright (c) 2012-2023 Snowflake Computing Inc. All rights reserved.
+ 3.1.1
+ Full
+ 7.3
+ Snowflake.Data
+
+
+
+
+
+
+
+
+
+
diff --git a/deploy.bat b/deploy.bat
index 90d0bb00f..dc43bf4cd 100644
--- a/deploy.bat
+++ b/deploy.bat
@@ -6,5 +6,14 @@ SET ROOT_DIR=%~dp0
cd %ROOT_DIR%
dotnet pack Snowflake.Data\Snowflake.Data.csproj -c Release --force -v n --output %ROOT_DIR%
+dotnet pack Snowflake.Data.Core\Snowflake.Data.Core.csproj -c Release --force -v n --output %ROOT_DIR%
+dotnet pack Snowflake.Data.AWS\Snowflake.Data.AWS.csproj -c Release --force -v n --output %ROOT_DIR%
+dotnet pack Snowflake.Data.Azure\Snowflake.Data.Azure.csproj -c Release --force -v n --output %ROOT_DIR%
+dotnet pack Snowflake.Data.GCP\Snowflake.Data.GCP.csproj -c Release --force -v n --output %ROOT_DIR%
+
+dotnet nuget push Snowflake.Data.Core.%VERSION%.nupkg -k %API_KEY% -s https://api.nuget.org/v3/index.json
+dotnet nuget push Snowflake.Data.AWS.%VERSION%.nupkg -k %API_KEY% -s https://api.nuget.org/v3/index.json
+dotnet nuget push Snowflake.Data.Azure.%VERSION%.nupkg -k %API_KEY% -s https://api.nuget.org/v3/index.json
+dotnet nuget push Snowflake.Data.GCP.%VERSION%.nupkg -k %API_KEY% -s https://api.nuget.org/v3/index.json
dotnet nuget push Snowflake.Data.%VERSION%.nupkg -k %API_KEY% -s https://api.nuget.org/v3/index.json
\ No newline at end of file
diff --git a/snowflake-connector-net.sln b/snowflake-connector-net.sln
index ba1c183a3..badc13d7b 100755
--- a/snowflake-connector-net.sln
+++ b/snowflake-connector-net.sln
@@ -3,10 +3,18 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.168
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snowflake.Data", "Snowflake.Data\Snowflake.Data.csproj", "{3E6328DD-E284-4F23-B55A-472BB7EA2C25}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snowflake.Data.Core", "Snowflake.Data.Core\Snowflake.Data.Core.csproj", "{3E6328DD-E284-4F23-B55A-472BB7EA2C25}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snowflake.Data.Tests", "Snowflake.Data.Tests\Snowflake.Data.Tests.csproj", "{97E793E8-62A4-4FF2-9406-F5277269EEC2}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Snowflake.Data.AWS", "Snowflake.Data.AWS\Snowflake.Data.AWS.csproj", "{0D406F90-2763-400D-A442-0D04ADEAFA81}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Snowflake.Data.Azure", "Snowflake.Data.Azure\Snowflake.Data.Azure.csproj", "{731CF7F1-62D2-4602-A2F1-4104CEB57E9C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Snowflake.Data.GCP", "Snowflake.Data.GCP\Snowflake.Data.GCP.csproj", "{82B14CB0-7071-42C4-8921-D885BD3C923F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Snowflake.Data", "Snowflake.Data\Snowflake.Data.csproj", "{E226DF7B-916D-45F6-9984-4C22E0B8A60C}"
+EndProject
Global
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
@@ -24,6 +32,22 @@ Global
{97E793E8-62A4-4FF2-9406-F5277269EEC2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{97E793E8-62A4-4FF2-9406-F5277269EEC2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{97E793E8-62A4-4FF2-9406-F5277269EEC2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0D406F90-2763-400D-A442-0D04ADEAFA81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0D406F90-2763-400D-A442-0D04ADEAFA81}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0D406F90-2763-400D-A442-0D04ADEAFA81}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0D406F90-2763-400D-A442-0D04ADEAFA81}.Release|Any CPU.Build.0 = Release|Any CPU
+ {731CF7F1-62D2-4602-A2F1-4104CEB57E9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {731CF7F1-62D2-4602-A2F1-4104CEB57E9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {731CF7F1-62D2-4602-A2F1-4104CEB57E9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {731CF7F1-62D2-4602-A2F1-4104CEB57E9C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {82B14CB0-7071-42C4-8921-D885BD3C923F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {82B14CB0-7071-42C4-8921-D885BD3C923F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {82B14CB0-7071-42C4-8921-D885BD3C923F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {82B14CB0-7071-42C4-8921-D885BD3C923F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E226DF7B-916D-45F6-9984-4C22E0B8A60C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E226DF7B-916D-45F6-9984-4C22E0B8A60C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E226DF7B-916D-45F6-9984-4C22E0B8A60C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E226DF7B-916D-45F6-9984-4C22E0B8A60C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE