santosh singh
santosh singh

Reputation: 28652

Detect dead code in C#

How can I detect dead code in my C# application?

Upvotes: 11

Views: 6730

Answers (4)

marko.ristin
marko.ristin

Reputation: 683

Mind that these tools do not detect the dead code in the comments. For example, the following:

// var a = 123;
// DoSomething(a);

will not be detected as dead code.

As of July 2020, I could not find any code inspection tool that could detect dead code in the comments. Therefore I developed one on my own (based on Roslyn) and published it under MIT license: https://github.com/mristin/dead-csharp.

Upvotes: 0

James Kovacs
James Kovacs

Reputation: 11661

Compile your code and check the warnings in the Error List. The following code:

    public ActionResult Index() {
        ViewData["Message"] = "Welcome to ASP.NET MVC!";
        return View();
        return null;  // unreachable
    }

produces this warning:

Warning 11  Unreachable code detected   <fullpath>\HomeController.cs    13  13  <prjname>

Tools like JetBrains ReSharper (http://jetbrains.com/resharper)* can also perform this analysis on the fly and highlight dead code.

* ReSharper is a commercial tool.

Upvotes: 7

Brian Rasmussen
Brian Rasmussen

Reputation: 116401

Resharper identifies dead code and unused parameters/locals and so does FxCop.

Upvotes: 2

Justin Niessner
Justin Niessner

Reputation: 245419

ReSharper can handle that. You could also check out NDepend.

If you don't feel like paying for either of those, I believe you can analyze your project with FxCop and it will also identify dead code.

Upvotes: 9

Related Questions