James Kovacs JamesKovacscom jkovacspostharvardedu September 30 2006 Photoshopped by Justice Gray 2006 Agenda The Holy Trinity Source Control Code Analysis Tools Build Tools Debugging Tools ID: 653597
Download Presentation The PPT/PDF document "Tools of the Trade: Must-Have .NET Utili..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Tools of the Trade:Must-Have .NET Utilities
James Kovacs
JamesKovacs.com
jkovacs@post.harvard.edu
September 30, 2006Slide2
Photoshopped!
by Justice Gray 2006Slide3
Agenda
The Holy Trinity
Source Control
Code Analysis Tools
Build Tools
Debugging Tools
Coding ToolsSlide4
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
)Slide5
Source Control
Subversion
Subversion server (
http://subversion.tigris.org
)
Command-line
BerkeleyDB
or file system backend
TortoiseSVN
(
http://tortoisesvn.tigris.org
)Explorer extensionRapidSVN (http://rapidsvn.tigris.org)Traditional VSS-style GUIAnkhSVN (http://ankhsvn.tigris.org)Visual Studio add-invss2svn (http://vss2svn.tigris.org)Perl script to convert VSS DB to SVNSourceGear Vault (http://www.sourcegear.com/vault/)VSS- or CVS-style check-insSQL Server DB backendTeam Foundation Server (TFS)SQL Server 2005 backendIncludes project portal, work item tracking, process enforcement, build server, reports, etc.Requires Visual Studio Team System (VSTS)
$$$
$$$Slide6
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 assembliesSlide7
Code Analysis Tools
Dynamic
NCover
(
http://www.ncover.org/
)
Analyzes code coverage
NProf
(
http://nprof.sourceforge.net) ORJetBrains dotTrace Profiler (http://www.jetbrains.com/profiler/)Profiles application performanceCLR 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
$$$Slide8
Build Tools
CruiseControl
.NET
(
http://ccnet.thoughtworks.com/
)
Continuous integration server
Builds via
NAnt
,
MSBuild, DevEnv, or customRuns unit testing (NUnit), coverage (NCover) and/or code analysis (FxCop) on builds (optional)Reports build and/or test failures via emailDashboard (ASP.NET app) shows current and past build statusSlide9
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)Slide10
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 networkAllows you to “fiddle” and replay requestsSlide11
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 moreSlide12
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 HTMLSlide13
Coding Tools
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 signaturesSlide14
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 previewsReSharper (http://www.jetbrains.com/resharper/)Refactoring/coding tool with excellent support for TDD$$$
$$$
$$$Slide15
Questions
JamesKovacs.com
jkovacs@post.harvard.edu