1 / 15

Tools of the Trade: Must-Have .NET Utilities

James Kovacs JamesKovacs.com jkovacs@post.harvard.edu January 27, 2007. Tools of the Trade: Must-Have .NET Utilities. Agenda. The Holy Trinity Source Control Virtualization Code Analysis Tools Build Tools Debugging Tools Coding Tools. The Holy Trinity.

imelda
Download Presentation

Tools of the Trade: Must-Have .NET Utilities

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. James Kovacs JamesKovacs.com jkovacs@post.harvard.edu January 27, 2007 Tools of the Trade:Must-Have .NET Utilities

  2. Agenda • The Holy Trinity • Source Control • Virtualization • Code Analysis Tools • Build Tools • Debugging Tools • Coding Tools

  3. The Holy Trinity • NUnit (http://www.nunit.org) • Unit testing framework • See also: • TestDriven.NET (http://www.testdriven.net) • JetBrainsUnitRun(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)

  4. 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) $$$ $$$

  5. 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 $$$

  6. 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

  7. Code Analysis Tools Dynamic • NCover(http://www.ncover.org/) • Analyzes code coverage • NProf(http://nprof.sourceforge.net) OR • JetBrainsdotTrace 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 $$$

  8. 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

  9. 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)

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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 $$$ $$$ $$$

  15. Questions JamesKovacs.com jkovacs@post.harvard.edu

More Related