In this article I’m going to talk about 10 essential tools for any .Net developer or development team. Being aware of these development tools for .NET coding can improve your productivity and allow you to build better applications faster.
ReSharper has been around for a long time to help with your .net coding. It’s always being updated and developed with awesome new features. If you’ve never heard of this beast, it’s an extension for Visual Studio which gives you a whole swath of features. Although Visual Studio gets more powerful every year, it seems that ReSharper is always a step ahead of the game, with awesome code analysis tools that automatically correct your code when it sees “code smells”, and style guideline violations. It adds some really useful code templates beyond those you get by default in Visual Studios, and makes it easy to do refactoring across your entire solution. Since we’ve all experienced the headache of renaming files and references across an entire project this should be a welcome addition.
ReSharper does cost money for organisations, but its free for teachers and students so it’s definitely worth a play around with.
LINQPad is a free tool, but don’t be fooled by the name, just because you don’t use LINQ doesn’t mean this tool won’t find this dot NET development tool useful for you. This tool can also run C# VB and F# expressions.
It was created out of a need for a way to run code in a script like fashion, without requiring you to create separate console applications for every project you work on. It’s very simple to use, and you can run scripts fast and even reference your existing libraries. This is one of the one of the most useful developer tools .Net programmers should be using.
PDFSharp is a .NET library for generating PDF’s. It’s incredibly powerful and allows you fine grained control over the PDF document when dot net coding. Because PDFSharp is quite low level, you often want to use a MigraDoc. Which is a library built on top of PDFSharp which lets you easily generate format PDF documents without having to worry about such things like line-breaks. This is really valuable when you automatically want to generate PDF documentation yourself.
There are plenty of dot NET developer tools out there which seem to duplicate the available features by Microsoft. Unit test tools certainly fall into this category. Although I’m an advocate of using Microsoft tools while they’re available (as you are usually securing yourself for longer support) NUnit has stood the test of time, and is much faster than Microsoft’s MS Test counterpart.
Of all the tools available for .NET coding, logging might be the one you give most consideration too. Logging is an important part of any application, and the tool you use for logging plays an important part. As well as the tool itself, you should also pay attention to how other tools (e.g. log viewers) will work with your log files. Log4Net offers some features which the standard logging provided by .NET doesn’t include, it adds extra configurations and trace levels, allowing you to get a lot more from your logging and .NET codes.
#9 SQL Profiler
When developing with .NET you have many great development tools at your disposal for debugging, stepping though your code, and testing the performance of your application. However one thing you can’t do is monitor and debug your database. This adds further complexity when the SQL which you run isn’t written by you, for example if you’re using Entity Framework to abstract your database layer. How frustrating is it when you need to debug deadlocks? Or when your entity framework models are throwing obscure errors. In these situations, what you need is a development tool to trace at a fine level what is happening on your database server, you want to know exactly what is being executed and when. The best tool for this is SQL profiler. It can take some getting used to, but when you’re comfortable using it, it is very powerful.
#10 .Net Reflector
For debugging .NET code even when you don’t have the source available, for example if you need to debug third party libraries or components, working on external code without any documentation or comments. You can use .Net reflector to look inside other assemblies and see how they function. This is one of the most useful .NET tools and worth checking out.
Any seasoned .NET developer will be familiar with PowerShell, this is a must have/must-use tool for .Net development. If you haven’t used it before, then you have most probably heard of it. For those of you who still use CMD for running tasks and scripts from batch files then you will benefit the most from Powershell. It shares the same language for writing commands and scripts, the advantage being that commands are fast, while the scripts you write with it are still readable. It’s particularly good because it interacts with .NET seamlessly.
It’s worth noting that there are many other tools available to help you with .NET development. There are many extensions (which you can find on Visual Studio extension site), and many libraries (which you can find with the NuGet package manager and its corresponding website). These are just 10 of the available tools, and hopefully if you are encouraged to experiment with a few of them you will be well served for future .NET development.