NDepend Blog

Improve your .NET code quality with NDepend

.NET – 7 Decompiler Compared (2026)

May 25, 2026 9 minutes read Need to read the C# behind a compiled assembly? A good .NET decompiler turns IL code back into readable C# in seconds, and most...
NDepend May 25, 2026

C# Async/Await Explained: Complete Guide with Examples [2026]

May 22, 2026 9 minutes read Mastering C# async / await is key to building fast, scalable .NET apps. Introduced in C# 5 back in 2012, the C# async and...
NDepend May 22, 2026

Modern C# Hello World

May 21, 2026 9 minutes read The modern C# Hello World is a single line of code: [crayon-6a5669ab4cf32231320055/] No class, no Main() method and no using directive to write. Three...
NDepend May 21, 2026

A Guide to Code Coverage Tools for C# in 2026

May 17, 2026 2 minutes read In this post, we’ll walk through 8 different .NET code coverage tools and list their features to help you make a decision. The tools...
Erik Dietrich May 17, 2026

Visual Studio Enterprise vs. Professional

May 12, 2026 2 minutes read If you write .NET code for a living, you might spend your day inside Visual Studio. The catch is that “Visual Studio” isn’t one...
Erik Dietrich May 12, 2026

The Road to Visual Studio 2027

April 16, 2026 9 minutes read At the Visual Studio Live! Las Vegas 2026 keynote, Mads Kristensen laid out the vision for the future of development tools—centered on a bold...
NDepend April 16, 2026

Visual Studio vs Visual Studio Code: The Ultimate Guide (2026)

December 30, 2025 8 minutes read Despite their similar name, Visual Studio and Visual Studio Code are two distinct products created by Microsoft. Visual Studio is a full-featured Integrated Development...
NDepend December 30, 2025

WPF vs WinForms – Making the Right Decision in 2026

December 29, 2025 8 minutes read If you’re a developer faced with the decision of selecting between Windows Presentation Foundation (WPF) and Windows Forms (WinForms) commonly referred to as WPF...
NDepend December 29, 2025

Visual Studio Next Version: What’s Coming and What to Expect

September 1, 2025 6 minutes read In mid-August 2025, Mads Kristensen, lead designer of the C# programming language, discussed with his team The Future of Visual Studio in a YouTube...
NDepend September 1, 2025

C# ValueTuple Full Guide

July 28, 2025 9 minutes read C# 7.0 introduced ValueTuple in 2017, making it easier to work with lightweight data structures.Here’s an example using ValueTuple with the () syntax to...
NDepend July 28, 2025

Architecture of a .NET Application: 8 Case Studies

July 10, 2025 8 minutes read This recent question on Reddit’s Number of projects per solution led to interesting debates. The answer depends on the app’s size and domain. In...
NDepend July 10, 2025

Clean Architecture in ASP.NET Core

July 7, 2025 9 minutes read As applications scale, flexibility and maintainability become essential. .NET Core Clean Architecture provides a clear structure with minimal dependencies, making it a popular choice....
NDepend July 7, 2025

C# Index and Range Operators Explained

May 24, 2025 3 minutes read In this post, we comprehensively demystify the C# index ^ and range .. operators. The index operator ^ Let’s start with the index ^...
NDepend May 24, 2025

.slnx The New .NET Solution XML File Format

March 17, 2025 3 minutes read On March 13th, 2025 Microsoft officially announced the a new .NET solution file format with file extension .slnx. For example for this simple solution:...
NDepend March 17, 2025

C# static abstract members

May 14, 2024 5 minutes read C# 11 proposed interface members declared as static abstract. This is useful to handle both: Polymorphism at the type level, for example when abstracting...
NDepend May 14, 2024

Covariance and Contravariance in C# Explained

May 2, 2024 6 minutes read Introduction Covariance and contravariance allow more flexibility when dealing with C# class hierarchy. This article explains and demonstrates the concepts of Covariance and Contravariance...
NDepend May 2, 2024

Will Visual Studio Be Migrated to .NET Core and Become Multi-Platform?

April 22, 2024 7 minutes read I came across comments on a recent Reddit post and thought it would be intriguing to analyze the DLLs of Visual Studio 2022 (version...
NDepend April 22, 2024

Improve Visual Studio Build Performance

August 11, 2023 7 minutes read Time is your most precious asset and slow build is high in the list of developer’s productivity killers. With slow build the penalty is...
NDepend August 11, 2023

.NET Build Improvement: Stop Wasting Resources

February 4, 2023 5 minutes read I am working on .NET development full-time since 2002 and there is a point that still annoys me after all these years: the default...
NDepend February 4, 2023

C# 11 required members

November 15, 2022 3 minutes read C# 11 proposes the new keyword required that can apply to an instance property or an instance field declaration within a class, a record...
NDepend November 15, 2022

Visual Studio vs. Jetbrains Rider Performance

June 28, 2022 5 minutes read I work daily with Visual Studio since 1997 but still use Rider from time to time to keep up with progresses since we plan...
NDepend June 28, 2022

WPF / Winforms UI Refactoring: A Case Study

May 11, 2022 4 minutes read WPF and Winforms are still so massively used that Microsoft fully supports those technologies in .NET Core, .NET 5, 6 , 7 and so...
NDepend May 11, 2022

How to collect return values from Parallel.ForEach?

January 26, 2022 1 minutes read Today I took 10 minutes to answer the 9 years old stackoverflow’s question: How do I collect return values from Parallel.ForEach? I though the...
NDepend January 26, 2022

Solution to Visual Studio 2022 messing up Visual Studio 2019

November 10, 2021 3 minutes read As all .NET developers I am quite excited by Visual Studio 2022 and .NET 6 going RTM. However I noticed that Visual Studio 2022...
NDepend November 10, 2021

Debugging a .NET App on Linux from Windows Visual Studio with WSL

September 15, 2021 6 minutes read NDepend analysis, reporting, API and Power-Tools will run on Linux and MacOS with the next version 2021.2. To achieve that, a major refactoring session...
NDepend September 15, 2021

Code Testability: A Case Study

September 1, 2021 2 minutes read [crayon-6a5669ab4dcb8898501084/] This method is untestable because its logic depends on NdpOperatingSystem.Kind which returns an OSPlatform object. Notice the usage of the attribute UncoverableByTest that...
NDepend September 1, 2021

3 productivity Resharper features missing in Visual Studio

August 10, 2021 5 minutes read Resharper is a great Visual Studio productivity extension but on the other hand it slows down significantly the IDE, especially when working with large...
NDepend August 10, 2021

Top 10 New .NET 6.0 API

July 7, 2021 5 minutes read .NET 6 introduces new handy APIs that will make our development journey easier. Let’s go through the top 10 new API in terms of...
NDepend July 7, 2021

How to Logically Name Embedded Resources in .csproj?

June 16, 2021 1 minutes read You can work with .NET for two decades and still discover some useful stuff.  One thing that bothered me till now is that an...
NDepend June 16, 2021

On replacing Thread.Abort() in .NET Core

May 19, 2021 3 minutes read Thread.Abort() is not supported in .NET 5 / .NET Core We are actually migrating the NDepend analysis and reporting to .NET 5 and figured...
NDepend May 19, 2021