# .NET Runtime
This page contains resources about the .NET runtime, its various configuration options, and deployment ways. Information here affects the end-users, not development environments. In other words these articles concern *run-time*, not *dev-time*. See [[MSBuild]] for *dev-time* stuff.
## Runtime Configuration
For runtime configuration times see [[Dotnet Runtime Configuration Files|.NET Runtime Configuration Files]] for anything after .NET Core. For configuring .NET Framework see [[Dotnet Framework Runtime Configuration|.NET Framework Runtime Configuration]]
## Deployment
.NET applications can be deployed in several different ways. The main concern here is how are the actual .NET libraries deployed, not custom code. In the days of .NET Framework the user was either expected to install it manually, or it was deployed with the OS. That can be configured now. See [[Shared vs. Self-Contained Dotnet Deployments|Shared vs. Self-Contained .NET Deployments]].
Keep in mind that with .NET, things are further complicated by the fact that it is no longer OS or architecture specific. That is to say that I can run a .NET app on a Mac.
Deploying the whole .NET can cause an output folder with hundreds of files. .NET does have a facility to pack everything into a single file. For that see [[Dotnet Single File Executable|Single File Deployments]].
Deploying the whole .NET can also lead to rather large deployment. To save on space Microsoft tried to make libraries more granular. There's also this: [[Trimming Compiler Output in Dotnet|Trimming Compiler Output in .NET]].
To reduce startup time (when the JIT needs to compile the ISL into architecture-specific code), you can also deploy precompiled architecture-specific assembly. This could reduce startup time in some cases (but not always). See [[ReadyToRun Dotnet Deployment|ReadyToRun .NET Deployment]] for more.
## Tools for Debugging Type Load Exceptions
See [[Fuslogvw.exe (Assembly Binding Log Viewer) - .NET Framework]] and [Fusion](https://github.com/awaescher/Fusion).
For .NET 5 see this as well [Diagnostic Improvements in .NET5](https://devblogs.microsoft.com/dotnet/diagnostics-improvements-in-net-5/).