Sunday, January 29, 2006

Essential .NET Development Tools

Here's a list of free tools to consider for your next .NET project. Some of it supports .NET 2.0. I'm sure there's more out there and will just update the list as time goes by. I'll have one for Java also at some point.

NDoc automatically generate documentation for your code using reflection to examine the assembly and using the XML generated from your C# XML comments.

Xenocode Postbuild is a .NET code obfuscation and deployment tool that allows applications to be deployed in a single, secure, optimized executable that runs anywhere. Postbuild is available in a free Community Edition and a full-featured Professional Edition

TestDriven.NET makes it easy to run unit tests with a single click, anywhere in your Visual Studio solutions. Integrates with all major unit testing frameworks including NUnit, MbUnit, & MS Team System.

NUnit allows you to write tests in the language of your choice to test a specific function of your application.

CruiseControl.NET is an Automated Continuous Integration server for .NET. Supports a wide variety of source control applications.

NAnt allows you to build your solution, copy files, run NUnit tests, send e-mail, and much more.

CAPICOM ActiveX control if you want to do digital signing on a web page

WAS web stress tool is designed to realistically simulate multiple browsers requesting pages from a web site. You can use this tool to gather performance and stability information about your web application. Use this if you don't have ACT.

Allocation Profiler is a tool for visualizing and analyzing allocations on the GC heap. It presents the data from this log file in a variety of interesting and useful views.

FxCop lets you examine an assembly and check it for compliance using a number of different rules. FxCop comes with a set number of rules created by Microsoft, but you can also create and include your own rules.

Switch Tools is used to switch the version of ASP.NET that a virtual directory is running under.

Reflector is a class browser and decompiler that can examine an assembly and show you just about all of its secrets.

ReFactory is a C# refactoring, metrics and productivity add-in for Visual Studio.NET

Xenocode Fox is a .NET code decompiler, class browser, and analyzer. Fox is available in a free Community Edition and a Professional Edition that integrates with Visual Studio 2005.

Contract First is a command line tool for improved “Contract-First” web services design and programming

WSE 2.0 for securing your web services with libraries for PKI etc.

VSFileFinder is a Visual Studio add-in that helps you find files quickly in large projects. It can list files from all the project types.

Spellchecker provides a multi-language spell checker for your comments and string literals. It uses a procedure similar to MS-Word but provides additional features useful for programmers

tBlogger provides a complete blog site written in C# with ASP.NET that uses XML as a backend.

dasBlog is an ASP.NET weblogging application. It runs on ASP.NET 1.1 and is developed in C#.

.Text is a powerful blogging engine that is used to host hundreds of blogs. The application is an example of an N-tiered application.

PatternShare is a community site brings together software patterns from different authors in one place to show relationships between existing patterns and to encourage you to contribute.

NxBRE is the first open-source rule engine for the .NET platform and a lightweight Business Rules Engine (aka Rule-Based Engine)

SRE (Simple Rule Engine) is a lightweight forward chaining inference rule engine for .NET. Its 'simple' because of the simplicity in writing and understanding the rules written in XML, but this 'simple' engine can solve complex problems.

Enterprise Libraries help to address the common problems that developers face from one project to the next. They are designed to encapsulate the Microsoft recommended best practices for .NET applications. They can be plugged into .NET applications quickly and easily.Contains libraries for data access, logging, security, caching etc.

The MONO Project provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix.

SQL Server Reporting Services is a comprehensive, server-based reporting solution designed to help you author, manage, and deliver both paper-based and interactive Web-based reports.

SKMMenu is a nice free .NET menu control.

MS IE Web Controls includes tab, tree, multipage etc controls.

Oracle Developer Tools for Visual Studio .NET contains native driver, GUI addin for creating Oracle tables, procs etc.

Npgsql is a managed data provider for connecting to a PostgreSQL database.

The DB2 Development Add-In for Visual Studio
includes native driver, dataset generator, wizards for generating stored procs etc for working with IBM DB2 UDB. Really nice.

iSeries Access is a managed data provider for connecting to an IBM AS400.

CodeSmith is a popular template based code generation tool.

MyGeneration generates C# and VB.Net classes and stored procedures from customizable templates.

CodeTemplate.NET provides a mechanism for inserting commonly used text fragments into your source code.

RegexDesigner.NET is a powerful visual tool for helping you construct and test .NET Regular Expressions.

Regulator is a full-featured tool that makes it easy to build and test .NET regular expressions.

DotNetNuke is an open-source Web Application Framework ideal for creating and deploying projects such as commercial websites, corporate intranets and extranets, online publishing portals, and custom vertical applications.

Microsoft Gadgets are a new category of mini-application designed to provide information, useful lookup, or enhance an application or service on your Windows PC or the Web.

Kapsules is a completly free, scriptable widget engine for Windows. Widgets are small application-like tools which rest on your desktop. Besides script, you can also use C# to build your widgets.

Ajax.NET a free library for the Microsoft .NET Framework

AOP.NET is another approach of Aspect Oriented Programming (AOP) framework for .NET. It differs from others in that it manipulates directly assembly's structure to achieve weaving.

Aspect# is an AOP (Aspect Oriented Programming) framework for the CLI (.Net and Mono). It relies on DynamicProxy and offers a built-in language to declare and configure aspects, and is compliant with AopAlliance.

SpringFramework.Net provides a wide range of functionality such as Dependency Injection, Aspect Oriented Programming (AOP), data access abstractions, and ASP.NET integration.