How can I detect dead code in my C# application?
-
6Do you use Resharper? ) – The Smallest Dec 03 '10 at 18:19
-
8Follow the smells. – Dec 03 '10 at 18:20
-
@The_Smallest:I d'nt use Resharper – santosh singh Dec 03 '10 at 18:21
-
There is smell everywhere... – FuryFart Jul 19 '13 at 13:19
4 Answers
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.
![](../../users/profiles/84651.webp)
- 229,755
- 35
- 391
- 521
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.
![](../../users/profiles/251305.webp)
- 11,309
- 35
- 43
-
You can set Visual Studio to treat warnings as errors. Project Properties... Build... Treat warnings as errors... Specific warnings: 0162. Then any dead code will result in a compiler error, which you can easily browse to. (I'm assuming that you consider VS free and/or C# Express supports this. I haven't checked.) I don't know of a free VS add-in that will highlight dead code. – James Kovacs Dec 03 '10 at 18:38
-
Visual Studio 2010 and the Microsoft C# compiler reliably highlight unreachable code within methods. They ignore unused private methods though. – Roman Starkov Jan 03 '12 at 13:50
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.
![](../../users/profiles/1600678.webp)
- 453
- 4
- 6