james kovacs [email protected] january 27, 2007

15
TOOLS OF THE TRADE: MUST-HAVE .NET UTILITIES James Kovacs JamesKovacs.com [email protected] January 27, 2007

Upload: tanner-job

Post on 15-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

TOOLS OF THE TRADE:MUST-HAVE .NET UTILITIES

James [email protected]

January 27, 2007

AGENDA

The Holy Trinity Source Control Virtualization Code Analysis Tools Build Tools Debugging Tools Coding Tools

THE HOLY TRINITY

NUnit (http://www.nunit.org) Unit testing framework See also:

TestDriven.NET (http://www.testdriven.net) JetBrains UnitRun (http://www.jetbrains.com/unitrun/)

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)

VIRTUALIZATION

Virtual PC 2007 (http://www.microsoft.com/windows/virtualpc) Free x64 Host, but not Guest

VMWare Workstation 6.0 (http://www.vmware.com/products/ws/)

USB support beyond mice and keyboards Multiple snapshots x64 Host/Guest Multi-monitor in Guest Headless VMs Many more features

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) OR 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 or http://tinyurl.com/ozsgr)

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)

DEBUGGING TOOLS

ClrSpy (http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=c7b955c7-231a-406c-9fa5-ad09ef3bb37f or http://tinyurl.com/2vvms) 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

DEBUGGING TOOLS

XmlSerializerPreCompiler (http://www.sellsbrothers.com/tools/#XmlSerializerPreCompiler or http://tinyurl.com/mqm1) 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/ or http://tinyurl.com/s7mea) Visual Studio Add-in for copying

source code as HTML

CODING TOOLS

Database Publishing Wizard (http://www.codeplex.com/sqlhost) Scripts a SQL Server database, including

data 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

CODING TOOLS

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

QUESTIONS

JamesKovacs.com

[email protected]