Looking for the best .NET books to get an introduction to the framework or hone your skills?
This list was first published in 2011, and has been updated yearly since.
Microsoft’s .NET is revolutionizing Windows-based software development, becoming the foundation for a new generation of Windows applications. The .NET Framework and Visual Studio, the two core aspects of this initiative, provide a multi-language environment in which developers can create web services, graphical user interfaces, and other kinds of applications. Taken as a whole, the .NET technologies have changed the way nearly every Windows application is built. For these reasons alone it is extremely popular, and the best .NET books line the shelves (and stay there) of serious .NET developers, programmers, and system architects.
Understanding .NET (2nd Edition)
Understanding .NET is an introduction and explanation of the key tenets of the .NET framework and how the .NET technologies are related. This book is ideal for those who need an overview of the .NET framework and developers who want an introduction to see what it’s all about. Broad in scope and full of technical information and commentary, it is packed with real-world application examples, analysis and comparisons to other computing environments. Topics covered include web services, CLR, languages, ADO.NET, ASP.NET and a great overview of the huge .NET Framework Class Library, and these are all clearly demonstrated with code examples. Read more..
Programming .NET Components, 2nd Edition
This is an advanced programming book about building components in the .NET framework. It is clearly and concisely written despite covering difficult subjects. Material discussed in detail and with sound practicality includes remoting, events, OO design, threading, security, versioning and other advanced topics. The first three chapters detail the philosophy and theory behind much of the framework and programming. Best practices, advanced tricks and tips, and defensive coding techniques are also included throughout the chapters. This is a very well-received book for the programming pros who work on a higher-level. Read more..
Metaprogramming in .NET
‘Metaprogramming in .NET is designed to help readers understand the basic concepts, advantages, and potential pitfalls of metaprogramming.’
Be advised, the subject matter of this book is a ‘whole new level of abstraction above what most developers deal with.’ It is for developers wanting to take their skills to a very serious level. A lot of metaprogramming tools are analysed in-depth, from code generation with T4, CodeDOM and Reflection Emit to code-level Expressions to low-level IL munging. It also takes you through scripting languages, a few ‘alternative’ languages for the CLR, and the Microsoft Dynamic Language Runtime (DLR). The writing style is as crisp and clean as it can be, without being too academic or dull. Read more..
Dependency Injection in .NET
Another well-received .NET book on this list is again aimed at highly experienced and advanced developers and .NET architects. Dependency Injection in .NET introduces and presents core dependency injection (DI) patterns in plain C# to fully describe how DI works. It covers integration with standard Microsoft technologies like ASP.NET MVC, and teaches the reader how to use populare DI frameworks like Structure Map, Castle Windsor, Spring.NET, Autofac, MEF, and Unity. It also covers object composition, lifetime management, and interception, as well as catalogues patterns, anti-patterns, and refactoring’s. Overall, the book is clearly written and acts as both an introduction/learning primer as well as a reference. All code found within the book is also downloadable to the reader. Read more..
Microsoft .NET: Architecting Applications for the Enterprise
This books is a must read for intermediate to senior developers looking at getting into software architecture. Alternatively, it’s for database-centric architects looking to get up to speed on domain name patterns, repositories, services, AOP, POCO, OR/M, and DDD, etc. Well-structured and read, it focuses on the technical aspects of .NET architecture and explains why multi-layered architecture and domain modeling should be used in complex enterprise applications. Topics covered include design principles and patterns and how they relate to a traditional-layered system, business, services, data access, and presentation layers, and a discussion of the pros and cons of several different patterns for each layer. Read more..