# eXtreme SQL C# Runtime Libraries

This article is only applicable to .NET Framework 4.x and .NET 8 (former .NET Core) on Windows. eXtremeDB for .NET 5 (on Windows, Linux) and later is documented in the eXtremeSQL C# API for .NET Core articles.

The core eXtremeDB and eXtremeSQL runtime functionality is encapsulated in the `extremedb4net.dll` library which is loaded dynamically at application startup. Then the following `Database.Mode` values can be set to dynamically load the associated library when a `Database` object is instantiated, however, note that no additional library is necessary for SQL support:

DebugSupport | Load the debug library to provide additional diagnostic exceptions - highly recommended during development. When all the code is bug-free and the application can consistently pass verification tests, it is unnecessary to continue checking function parameters and supporting the debug traps. At this stage, it is advantageous to remove the DebugSupport option.
DiskSupport | Load "`_disk`" versions of libraries for databases on persistent storage devices
SharedMemorySupport | Load "`_shm`" versions of libraries for databases using shared memory
MVCCTransactionManager | Load "`_mvcc`" versions of libraries to use the MVCC transaction manager - by default "`_mursiw`" (MURSIW transaction manager) versions are loaded