# C# Runtime Libraries

> The core eXtremeDB 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:

> 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

> (Please see SDK Sample Open2 for an example of how these library options can be set at runtime.)