.NET is a software framework supporting a multi-language paradigm and supporting language interoperability. .NET applications are executed in a virtual machine (CLR) which provides a few important services: security, memory management and exception handling.
The .NET Framework is not specific to any one programming language. The c#, vb.net, c++-cli, and f# programming languages from Microsoft, as well as many other languages from other vendors, all use the same .net framework.
The .NET Framework includes a large library of functions as part of the Base Class Library (BCL), including those related to user interface design, data access, database connectivity, cryptography, development of web applications, mathematical algorithms, and network communications. This extensive library simplifies development and makes it easy to rapidly develop new applications.
Getting help
Versions of .NET
- What's New in the .NET Framework Version 2.0
- What's New in the .NET Framework Version 3.0
- What's New in the .NET Framework Version 3.5
- What's New in the .NET Framework 4
- What's New in the .NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Stable release
- .Net Framework 4.8 / 10 May 2019;
- .NET Core 2.2 / 12 Apr 2018;
Garbage collector
- Fundamentals of Garbage Collection.
- How does the .NET Garbage Collector work?
- When should I use GC.SuppressFinalize()?
Free .NET Programming Books (C# / F# / VB / Nemerle / Visual Studio)
- C# Essentials
- C# Programming - Wikibook
- C# Yellow Book (intro to programming)
- Charles Petzold's .NET Book Zero
- Data Structures and Algorithms with Object-Oriented Design Patterns in C#
- Entity Framework
- Moving to Microsoft Visual Studio 2010
- Programming in F# 3.0
- Nemerle
- Programmer's Heaven C# School Book (covers C# 1.0 and 2.0)
- Threading in C#
- Visual Basic Essentials
- Visual Studio Tips and Tricks (VS 2003-2005 only)
- Foundations Of Programming
Useful .NET Libraries
Mathematics
- Math.NET Numerics - special functions, linear algebra, probability models, random numbers, interpolation, integral transforms, and more.
Package managers for external libraries
- NuGet (formerly known as NuPack) - Microsoft (developer-focused package management system for the .NET platform intent on simplifying the process of incorporating third-party libraries into a .NET application during development).
- OpenWrap - Sebastien Lambla - Open Source Dependency Manager for .NET applications.
Build Tools
- Prebuild - Generate project files for all Visual Studio versions, including major IDEs and tools like SharpDevelop, MonoDevelop, NAnt, and Autotools.
Dependency Injection/Inversion of Control
- Unity Framework - Microsoft
- StructureMap - Jeremy Miller
- Castle Windsor
- Ninject
- Spring Framework
- Autofac
- Simple Injector
- Managed Extensibility Framework
- TinyIoC
Logging
- Logging Application Block - Microsoft
- Log4Net - Apache
- Error Logging Modules and Handlers (ELMAH)
- NLog
- CuttingEdge.Logging
- Logging Abstraction API "Common.Logging"
Validation
- Validation Application Block - Microsoft
- xVal
- Fluent Validation
Design by Contract
Compression
- SharpZipLib
- DotNetZip
- YUI Compressor (CSS and JavaScript minification)
- AjaxMinifier (in other downloads) (CSS and JavaScript minification. Also includes MSBuild task)
- SevenZipSharp to pack, unpack a lot of different packages (including RAR, 7-Zip, etc.)
- ZipStorer A pure C# class to store files in the ZIP format
Ajax
- Ajax Control Toolkit - Microsoft
- AJAXNet Pro
- ASP.NET MVC Project Awesome - Ajax helpers for ASP.NET MVC
Data Mapper
- XmlDataMapper
- AutoMapper
- Dapper
- Massive
- Data accessors from the Data Access Application Block
- ValueInjecter
ORM
- Entity Framework - Microsoft
- NHibernate and FluentNHibernate
- Castle ActiveRecord
- Subsonic
- XmlDataMapper
- Truss Data binding and real time property synchronisation library
Charting/Graphics
- Microsoft Chart Controls for ASP.NET 3.5 SP1
- Microsoft Chart Controls for Windows Forms
- ZedGraph Charting
- NPlot - Charting for ASP.NET and Windows Forms
- ImageResizer - URL-driven image processing for both ASP.NET and .NET
PDF Creators/Generators
Unit Testing/Mocking
Automated Web Testing
Misc Testing/Quality Support/Behavior Driven Development (BDD)
URL Rewriting
- UrlRewriter.NET
- UrlRewriting.Net
- Url Rewriter and Reverse Proxy - Managed Fusion/Nick Berardi
Web Debugging
- Glimpse - Firebug for your webserver
Controls
- Krypton - Free Windows Forms controls
- Source Grid - A Grid control
MS Word/Excel Documents Manipulation
- DocX to create, read, and manipulate formatted word documents. Easy syntax, working nicely, actively developed. No Microsoft Office necessary.
- Excel XML Writer allows creation of .XLS (Excel) files. No Microsoft Office necessary. It has been a while since it has been updated. It also provides a code generator to create code from already created XLS file (saved as XML).
- Excel Reader allows creation/reading of .XLS (Excel) files. No Microsoft Office necessary. It has been a while since it has been updated.
- Excel Package allows creation/reading of .XLSX (Excel 2007) files. No Microsoft Office necessary. The author is gone, so it is out of date.
- EPPlus is based on Excel Package and allows creation and reading of .XLSX (Excel 2007). It is actually the most advanced even comparing to NPOI.
- NPOI is the .NET version of POI Java project at http://poi.apache.org/. POI is an open source project which can help you read/write Excel, Word, and PowerPoint files. Latest sources available at GitHub repository.
Social Media
- LINQ to Twitter - LINQ-based wrapper for all Twitter API functionality in C#.
- Facebook C# SDK - A toolkit for creating Facebook applications / integrating websites with Facebook using the new Graph API or the old rest API.
Serialization
- sharpSerializer - XML/binary serializer for WPF, ASP.NET AND Silverlight.
- protobuf-net - .NET implementation of Google's cross-platform binary serializer (for all .NET platforms).
Machine learning
- Encog C# - Neural networks
- AForge.net - AI, computer vision, genetic algorithms, machine learning
RESTFul Web Services
- RestSharp - Simple REST and HTTP API Client for .NET
Unclassified
- CSLA Framework - Business Objects Framework
- Prism - Composite UI application block for WPF, Silverlight and Windows Phone 7 - Microsoft patterns & practices
- Enterprise Library 5.0 - Logging, Exception Management, Caching, Cryptography, Data Access, Validation, Security, Policy Injection - Microsoft patterns & practices
- File helpers library
- C5 Collections - Collections for .NET
- Quartz.NET - Enterprise Job Scheduler for .NET Platform
- MiscUtil - Utilities by Jon Skeet
- Noda Time - DateTime replacement (idiomatic port of Joda Time from Java)
- Lucene.net - Text indexing and searching
- Json.NET - LINQ over JSON
- Flee - expression evaluator
- PostSharp - AOP
- IKVM - brings the extensive world of Java libraries to .NET.
- C# Webserver - Embeddable webserver
- Long Path - Microsoft
- .NET Engines for the GOLD Parsing System
- Smart Thread Pool - Thread Pool management library
- NCQRS - library for event-driven architectures (CQRS).
- NBug - Automated exception and error reporting tool (can generate minidumps)
- Splicer.Net - library for the .NET Framework that aims to simplify developing applications for editing and encoding audio and video using DirectShow.
- Pex - a tool for automatic test case generation