Skip Navigation LinksHome > SSW Standards > Developer General > SSW - The Best 3rd Party .NET Tools

Do you agree with them all? Are we missing some? Let us know what you think.

would you like your software to be considered for this list? Give us your details.

  1. NetTiers (via CodeSmith) for .NET Code Generation

    .netTiers is an open source set of templates for the CodeSmith code generator. It follows Microsoft's patterns and best practices guidelines to generate a customized, layered, application architecture for your database (we call it "maintenance pages". See our rule on maintenance pages).

    Choosing a code generator that's right for your needs involves a reasonable amount of consideration. You should think about things like:

    • ability to alter templates in a familiar environment (such as .xsl)
    • the code output is of good quality and adhering to your coding standards
    • it generates a layered architecture to support extendable projects
    • it is easy to regenerate and compile the code output (see our regenerate standard)

    Other code generators that we have used in the past include:

  2. Jetbrains ReSharper

    ReSharper was created with the single purpose in mind: to increase the productivity of C# developers. It comes equipped with a rich set of features, such as intelligent coding assistance, on-the-fly error highlighting and quick error correction, unmatched support for code refactoring, and a whole lot more. ReSharper's tight integration with Visual Studio .NET provides quick and easy access to all of its advanced features right from the IDE.

    • Error Highlighting
    • Error Quick-fixes
    • Refactoring Support
    • Live Templates

    Jetbrains ReSharper

    Figure: Inline error highlighting and fixes

    Jetbrains ReSharper

    Figure: Code generation

    Jetbrains ReSharper

    Figure: Pre-compile checking and syntax highlighting
    Jetbrains ReSharper

  3. Microsoft FxCop

    FxCop is a code analysis tool that checks .NET managed code assemblies for conformance to the Microsoft .NET Framework Design Guidelines. It uses reflection, MSIL parsing, and callgraph analysis to inspect assemblies for more than 200 defects in the following areas:

    • Library design
    • Localization
    • Naming conventions
    • Performance
    • Security

    Microsoft FxCop

    Figure: Microsoft FxCop
    Microsoft FxCop

  4. SSW Code Auditor

    As a project or company grows, managing code standards throughout your team becomes virtually impossible. But consistent code is crucial to future development and maintenance. Built in C#, SSW Code Auditor lets you take control of your code and automatically review your web apps and projects - giving you more opportunity to spend time where it really matters.

    Startup

    Figure: SSW Code Auditor
    SSW Code Auditor

  5. NUnit

    NUnit is a unit-testing framework for all .NET languages. Initially ported from JUnit, the current release, version 2.2, is the fourth major release of this xUnit based unit testing tool for Microsoft .NET. It is written entirely in C# and has been completely redesigned to take advantage of many .NET language features, for example custom attributes and other reflection related capabilities.

    NUnit

    Figure: NUnit
    NUnit

  6. Jetbrains dotTrace Profiler

    If you are looking to improve the performance of your .NET application, and don't know where to start, you need this tool. The dotTrace .NET Profiler from Jetbrains is an invaluable tool to quickly determine where your application is slowest and which methods are in dire need of optimization. Red-Gate's ANTs profiler offers similar functionality. However, we have found .NET profilers reports allow the developer to more quickly pinpoint bottlenecks in code.

    .NET Profiler

    Figure: Jetbrains .NET Profiler
    Jetbrains .NET Profiler Home Leaving SSW Web Site

  7. NDoc

    NDoc generates class libraries documentation from .NET assemblies and the XML documentation files generated by the C# compiler (or an add-on tool for VB.NET such as VBCommenter).

    NDoc uses add-on documenters to generate documentation in several different formats, including the MSDN-style HTML Help format (.chm), the Visual Studio .NET Help format (HTML Help 2), and MSDN-online style web pages.

    NDoc

    Figure: Rich CHM files

    NDoc

    Figure: MSDN-online style webpages
    NDoc Leaving SSW Web Site

  8. Sandcastle

    Sandcastle, created by Microsoft, is a tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comments files.

    Sandcastle is command line based and has no GUI front-end, project management features, or an automated build process. However several Sandcastle users have created scripts and tools that automate the documentation build process, e.g. Sandcastle Help File Builder

    Sandcastle

    Figure: Rich CHM files

    Sandcastle

    Figure: MSDN-online style webpages
    NDoc Leaving SSW Web Site

  9. C# to VB.NET converter

    Here is a tool to convert C# code to VB.NET. The tool is available either as a Web site or an add-in for the VS IDE. Its available here: Weve found that its extremely useful for VB developers that struggle when they can only find C# examples/snippets.

    CSharp Converter

    Figure: C# to VB.NET converter
    Clarity Consulting - C# to VB.NET converter Leaving SSW Web Site

    Another handy utility that converts C#.NET to VB.NET can be found on the link below
    ASP Alliance - C# to VB.NET translator (Warning: Be careful, server may cache your code, resulting in loss of IP) Leaving SSW Web Site

    Yet Another handy utility that converts C#.NET to VB.NET can be found on the link below
    KamalPatel.NET Convert C# to VB .NET (Full Source - Offline version exists aswell) Leaving SSW Web Site

  10. VB.NET to C# converter

    This is the best converter currently available for VB.NET to C# conversions and has won many "best-of" awards. This can be found at the link below

    VB Conversion

    Figure: The VBConversion Converter

    VB Conversions - VB.NET to C# converter Leaving SSW Web Site

    Here is a tool to convert VB.NET code C#. The tool is available for Offline Use. Its extremely useful for C# developers that struggle when they can only find VB.NET examples/snippets. This Converter is still under testing, there has been a few flaws.

    VB.NET Converter

    Figure: VB.NET to C# converter
    BabbelFisken - VB.NET to C# converter Leaving SSW Web Site

  11. Combined VB.NET to C# and C# to VB.NET converter

    This tool is great - you can point to a file or type your C# or VB.NET code into the page and it will show you translated code - as you type. See the tool in the link below
    Carlos Ag Code Translator Leaving SSW Web Site

  12. SourceGear Vault

    SourceGear vault mirrors all good things about Microsoft SourceSafe's interface and integration, while scaling better to enterprise level projects.

    SourceGear Vault features:
    • Reliability. Many users do not trust VSS because of its tendency to corrupt its own repositories. Vault's design places a strong emphasis on the integrity of the repository. The Vault repository is stored using Microsoft SQL Server 2000. Furthermore, Vault supports atomic check-in transactions (change sets). When checking in a collection of files, the entire check-in either succeeds or fails as an atomic unit.
    • Seamless transition from VSS. Vault includes a SourceSafe import wizard which is painless and easy to use. Every version of every file is imported, including change comments. Shares and pins are properly maintained.
    • Familiar features and interface. VSS users will feel comfortable using Vault. The client user interface very closely resemble that of VSS and SourceOffSite all major features of VSS are present.
    • .NET Architecture. Vault is built entirely on Microsoft's .NET platform, including C#, IIS, and SQL Server 2000.
    • Open. The Vault Server is built as a collection of .NET Web Services. The Vault Client API allows you to build custom solutions using the same libraries on which the Vault clients are built.
    • History Explorer. The use of SQL as a repository storage allows Vault to easily provide more advanced ways of querying the history of a project.
    Other alternatives include:
    • Perforce
    • StarTeam
    • Source Inegrity
  13. Reflector Decompiler for .NET

    Reflector is a class browser, decompiler and XML documentation browser for .NET components (assemblies). If you want to see code in other people's .NET applications (assuming it has not been obfuscated) in C# or VB.NET, this is your tool.

    reflector

    Figure: Reflector
    Lutz Roeder's Web Site Leaving SSW Web Site

  14. Allocation Profiler

    Allocation Profiler is a great tool for visualizing and analyzing allocations on the Garbage Collection (GC) heap. It presents the data from this log file in a variety of interesting and useful views (histograms, graphical tree views) It can be used to verify program execution (e.g. ensure you've allocated only the objects you thought) and to detect possible memory leaks, and unclosed and old objects within a process. Great for working out why that application takes up 70MB in memory. This even works for .NET COM Add-ins (just point to OUTLOOK.EXE instead). Simply launch AP, point it at your EXE and click a button.

    Application profiler

    Figure: Allocation Profiler
    Allocation Profiler Web Site Leaving SSW Web Site

  15. CLR Spy for COM Interop

    COM-Interop is the most error prone aspect of .NET. If you do anything with COM-Interop in .NET, this is an invaluable tool for diagnosing and isolating any problems you might have. Optionally logs probes to file.

    CLR Spy

    Figure: CLR Spy
    CLR Profiler Web Site Leaving SSW Web Site

  16. Developer Express CodeRush

    CodeRush is a developer productivity enhancement tool that integrates Visual Studio .NET. CodeRush provides extensive visualisation, selection, clipboard, navigation and template tools, and works with both C# and Visual Basic .NET. Features include:

    • Icons - Different types and members (for example, classes, enums, structs, methods, properties, etc) with icons that allow you to modify the accessibility
    • Structural highlighting - lines on the left hand side make it easy to see the start and end of nested statement blocks. A configurable line on the right allows you to ensure lines of code don't become too long when developers use different screen resolutions
    • Keyboard shortcuts allow you to expand, contract and comment selections based on statement blocks
    • Documentor window - allows you to visualise complex XML documentation markup
    • Smart cut and paste - automatically selects logical code blocks when copying, and adapts pasted code to the situation. For example, inside an if block, "=" will automatically be converted to "==" in C#.
    • Advanced bookmarks - remember the column position as well as the line and allow you to easily move between different locations
    • Templates - common blocks of code can easily be inserted with keyboard shortcuts


    Figure: Visual indicators inside your code


    Figure: Visual accessibility modification in code view


    Figure: XML documentation previews


    Figure: Automatically insert templates for commonly used code

    CodeRush Web Site Leaving SSW Web Site

  17. Test Driven .NET

    Test Driven integrates with a range of tools such as NUnit, MBUnit and Visual Studio that allows you to run Unit Tests with the right click button. Its key features include:

    • Run unit tests within any method, class, source file, namespace, project or solution with a single-click
    • TestDriven.NET is the only add-in to work with all versions of Visual Studio .NET
    • Supports multiple unit testing frameworks including NUnit, MbUnit and MS Team System
    • Runs in its own process for side-effect free testing.
    • Allows you to easily debug tests or methods
    • Supports all major .NET languages (C#, VB, C++ and J#)


    Figure: Run Unit Tests from the right click menu

    Test Driven .NET Web Site Leaving SSW Web Site

  18. AspDB

    Tornado is the DotNet version of AspDB. VS.NET is not required but remains a popular way to program DotNet with Tornado as a library. If you have the DotNet Framework installed, you basically need only one file (Tornado.dll) to get going.

    You can click via a code generator (Designer) to produce a complete and acceptable Web DB application in several minutes.

    Designer
    Figure: Designer
  19. BLinQ

    Blinq is a tool for generating ASP.NET websites for displaying, creating, and manipulating data based on database schema, but it is replaced by MVC. You don't need to write SQL queries to use Blinq; LINQ will generate optimized queries for you that request just the data you want to show.

    The Blinq tool autogenerates web forms from database schema which enable the following by default:

    1. Select, insert, update, and delete functionality
    2. Details and foreign key navigation
    3. Sorting and Pagination of records
    4. A default style and design which provide a consistent layout
  20. Elmah (Error Logging Modules and Handlers)

      Once ELMAH has been dropped into a running web application and configured appropriately, you get the following facilities without changing a single line of your code:
    • Logging of nearly all unhandled exceptions.
    • A web page to remotely view the entire log of recoded exceptions.
    • A web page to remotely view the full details of any one logged exception.
    • In many cases, you can review the original yellow screen of death that ASP.NET generated for a given exception, even with customErrors mode turned off.
    • An email notification of each error at the time it occurs.
    • An RSS feed of the last 15 errors from the log.
  21. EditPlus

    EditPlus is a 32-bit text editor for the Microsoft Windows operating system. The editor contains tools for programmers, including syntax highlighting (and support for custom syntax files), file type conversions, line ending conversion (between Linux, Windows and Mac styles), regular expressions for search-and-replace, keystroke, spell check, full support for Unicode editing, customizable keyboard shortcuts, auto-completion, code folding, and more. Files can be browsed and edited in tabs, and an internal file browser is implemented in the software.

  22. Notepad++

    Notepad++ is a text editor and source code editor for Windows. One advantage of Notepad++ over the built-in Windows text editor, Notepad, is tabbed editing, which allows working with multiple open files.

    Notepad++ is distributed as free software. The project was hosted on SourceForge.net, from where it has been downloaded over 27 million times and twice won the SourceForge Community Choice Award for Best Developer Tool. To display and edit text and programming language source code files, Notepad++ uses the Scintilla editor component.

    NotePad
    Figure: Notepad++ in action
  23. UltraEdit (IDM Computer Solutions Inc.)

    UltraEdit is a simple text editing program that picks up the functionality that Notepad leaves out.

    UltraEdit will allow you to edit Text, Hex and HTML files in the one user friendly environment. It has smart indenting for when you're editing code, macro recording, advanced search and replace functions. When you want to work on a .txt file, it's important to associate it with a proper editor, UltraEdit is just such a tool. There are other third-party editors about, but this is the one I like the best.

    Figure: UltraEdit
    IDM Computer Solutions Inc Web Site

Acknowledgements

Adam Cogan
Tatham Oddie
David Klein