The Edmonton Code Camp was a blast. John Bristowe and I drove up Saturday morning and returned late Saturday night. There were lots of action packed presentations throughout the day, but Jean-Paul Boodhoo stole the show as per usual. His presentation on cool things you can do with generics was excellent and there was not a PowerPoint slide to be seen. It was a nice contrast to my PowerPoint-heavy Tools of the Trade: Must-Have .NET Utilities (PowerPoint 2007 slidedeck), which was on right before. (Maybe I’ll try doing that presentation without the PowerPoint crutch next time.) Thanks to everyone who came to my talk and especially those who asked questions. To save people from having to download the slidedeck just to get the links, here is the tools that I talked about in raw, unadulterated HTML:
The Holy Trinity
- NUnit (http://www.nunit.org)
- Unit testing framework
- See also:
- TestDriven.NET (http://www.testdriven.net)
- NAnt (http://nant.sourceforge.net)
- Make without the wrinkles
- See also:
- NAntContrib (http://nantcontrib.sourceforge.net)
- MSBuild (VS 2005)
- NDoc (http://ndoc.sourceforge.net)
- API documentation generator for .NET Framework v1.X
- See also:
- Sandcastle (http://www.sandcastledocs.com)
- Sandcastle Builder (http://www.codeproject.com/useritems/SandcastleBuilder.asp)
- GhostDoc (http://www.roland-weigelt.de/ghostdoc)
Source Control
- Subversion
- Subversion server (http://subversion.tigris.org)
- Command-line BerkeleyDB or file system backend
- TortoiseSVN (http://tortoisesvn.tigris.org)
- Explorer extension
- RapidSVN (http://rapidsvn.tigris.org)
- Traditional VSS-style GUI
- AnkhSVN (http://ankhsvn.tigris.org)
- Visual Studio add-in
- vss2svn (http://vss2svn.tigris.org)
- Perl script to convert VSS DB to SVN
- SourceGear Vault (http://www.sourcegear.com/vault/) $$$
- VSS- or CVS-style check-ins
- SQL Server DB backend
- Team Foundation Server (TFS) $$$
- SQL Server 2005 backend
- Includes project portal, work item tracking, process enforcement, build server, reports, etc.
- Requires Visual Studio Team System (VSTS)
Code Analysis Tools – Static
- FxCop (http://www.gotdotnet.com/team/fxcop/)
- Analyzes code against a rules database including coding standards, best practices, and defects
- LibCheck (http://www.microsoft.com/downloads/details.aspx?FamilyID=4B5B7F29-1939-4E5B-A780-70E887964165&displaylang=en)
- Displays API differences between two assemblies
Code Analysis Tools – Dynamic
- NCover (http://www.ncover.org/)
- Analyzes code coverage
- NProf (http://nprof.sourceforge.net)
- JetBrains dotTrace Profiler (http://www.jetbrains.com/profiler/) $$$
- Profiles application performance
- CLR Profiler (http://www.microsoft.com/downloads/details.aspx?familyid=A362781C-3870-43BE-8926-862B40AA0CD0&displaylang=en)
- Profiles allocations and garbage collections
Build Tools
- CruiseControl .NET (http://ccnet.thoughtworks.com/)
- Continuous integration server Builds via NAnt, MSBuild, DevEnv, or custom
- Runs unit testing (NUnit), coverage (NCover) and/or code analysis (FxCop) on builds (optional)
- Reports build and/or test failures via email
- Dashboard (ASP.NET app) shows current and past build status
Debugging Tools
- Lutz Roeder’s Reflector (http://www.aisto.com/roeder/dotnet/)
- Reverse engineers MSIL into C#, VB.NET, or Delphi
- See also:
- FileDisassembler Add-in (http://www.denisbauer.com/NETTools/FileDisassembler.aspx)
- Reflector Diff Add-in (http://www.codingsanity.com/diff.htm)
- ClrSpy (http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=c7b955c7-231a-406c-9fa5-ad09ef3bb37f)
- Exposes Customer Debug Probes (CDP) for diagnosing problems with COM Interop and P/Invoke
- Fiddler (http://www.fiddlertool.com)
- HTTP debugging proxy, which logs all HTTP traffic between your browser and the network
- Allows you to “fiddle” and replay requests
- XmlSerializerPreCompiler (http://www.sellsbrothers.com/tools/#XmlSerializerPreCompiler)
- Fantastic tool for debugging mysterious XmlSerializer exceptions
- Everything by SysInterals.com! (http://www.sysinternals.com)
- Tools for monitoring disk, files, handles, registry, processes, and more
Coding Tools
- Notepad2 (http://www.flos-freeware.ch/notepad2.html)
- Notepad++ (http://notepad-plus.sourceforge.net/)
- Both excellent Notepad replacements
- CopySourceAsHtml (http://www.jtleigh.com/people/colin/software/CopySourceAsHtml/)
- Visual Studio Add-in for copying source code as HTML
- RegexDesigner.NET (http://www.sellsbrothers.com/tools/#regexd)
- Runs regular expressions using System.Text.RegularExpressions
- pinvoke.net (http://www.pinvoke.net)
- Public wiki for P/Invoke signatures
- CodeRush (http://www.devexpress.com/Products/NET/CodeRush/) $$$
- Intuitive coding tool
- Refactor Pro! (http://www.devexpress.com/Products/NET/Refactor/) $$$
- Refactoring tool with awesome previews
- ReSharper (http://www.jetbrains.com/resharper/) $$$
- Refactoring/coding tool with excellent support for TDD and personal favourite