Windows Developer Power Tools: Turbocharge Windows Development with More Than 140 Free and Open Source Tools

James Avery, Jim Holmes

  • 出版商: O'Reilly
  • 出版日期: 2007-01-16
  • 定價: $1,980
  • 售價: 6.0$1,188
  • 語言: 英文
  • 頁數: 1312
  • 裝訂: Paperback
  • ISBN: 0596527543
  • ISBN-13: 9780596527549
  • 立即出貨 (庫存 < 3)




Software developers need to work harder and harder to bring value to their development process in order to build high quality applications and remain competitive. Developers can accomplish this by improving their productivity, quickly solving problems, and writing better code.

A wealth of open source and free software tools are available for developers who want to improve the way they create, build, deploy, and use software. Tools, components, and frameworks exist to help developers at every point in the development process. Windows Developer Power Tools offers an encyclopedic guide to more than 170 of these free tools to help developers build top-notch Windows software from desktop applications to web services.

To help you choose the right tools for solving both common and uncommon problems you face each day, this book follows a unique task-oriented organization, laying out topics in the same order that you and your team are likely to encounter them as you work on a project. Each tool entry features a solid introduction -- a mini user's guide -- so you can get up to speed quickly and understand how to best use the tool in your environment. Inside, you'll find:

  • A guide to more than 170 tools covering 24 unique aspects of Windows and .NET software development, with many descriptions contributed by the tools' authors

  • Descriptions of freely available ASP.NET and Windows Forms controls, object relational mapping systems, testing frameworks, and build and continuous integration tools

  • Articles on tools to help developers troubleshoot misbehaving applications

  • Guides for utilities to boost productivity in the development environment as well as speeding up tasks in Windows itself

  • "Quick pick" lists at the start of each chapter to help you find and choose the right tool for your task

  • "At a Glance" and "In a Nutshell" summaries to help readers more quickly narrow their options

  • References to an online book site to keep you up-to-date with new releases and features

  • Forewords by Mike Gunderloy (Larkware) and Scott Hanselman (, operators of the two most popular tools sites for Microsoft developers.

Also, plenty of links in each article point you to additional detail online if you wish to delve more deeply into features and functionality. This one-stop resource covers a wide range of open source and freeware tools to help you answer questions around planning, developing, testing, and rolling out great software. Best of all, they're free.


Table of Contents




Part I. Writing Code

1. Building ASP.NET Applications
      1.1 Building Sophisticated Ajax Applications with ASP.NET Atlas
      1.2 Adding Ajax Functionality with Anthem.NET
      1.3 Adding Ajax Functionality with Ajax.NET Professional
      1.4 Generating User-Friendly URLs with UrlRewritingNet.UrlRewrite
      1.5 Showing a "Please Wait" Dialog with BusyBoxDotNet
      1.6 Creating Cleaner HTML Output with CSS Friendly Control Adapters
      1.7 Adding Word-Processing Capabilities to Your Application with FreeTextBox
      1.8 Creating Charts with the WebChart Control
      1.9 Consuming and Publishing RSS Feeds with the RSS Toolkit
      1.10 For More Information

2. Working with Windows Forms
      2.1 Getting "That WinXP Look" with XP Common Controls
      2.2 Creating Dockable Windows with DockPanel Suite
      2.3 Creating a Professional User Interface with Krypton Toolkit
      2.4 Learning More About Windows Controls with Control Spy
      2.5 For More Information

3. Developing in .NET 3.0 (a.k.a. "WinFx")
      3.1 Creating Great Visuals for Your Applications with Expression Graphic Designer
      3.2 Creating WinFx User Interfaces Without Code Using Interactive Designer
      3.3 Writing XAML in XamlPad
      3.4 Avoiding XML Configuration Files with the Service Configuration Editor
      3.5 Deciphering WCF Logs with the Service Trace Viewer
      3.6 Developing WinFx Applications in Visual Studio with Development Tools for WinFx
      3.7 For More Information

4. Working with Code Libraries
      4.1 Externalizing Business Rules with NxBRE
      4.2 Diagnosing Without Downtime via log4net
      4.3 Searching Your Data Using Lucene.Net
      4.4 Finding Changes Between Assembly Versions with LibCheck
      4.5 Comparing Assemblies with Reflector.Diff
      4.6 Implementing Spell Checking in Your Windows and Web Apps with NetSpell
      4.7 Creating Graphs and Plot Charts Quickly with NPlot
      4.8 Sorting Algorithms in C# with NSort
      4.9 Creating RSS Feeds with RSS.NET
      4.10 Using Zip, GZip, Tar, and BZip2 Archives in Your Software with SharpZipLib
      4.11 Generating Excel Files from Code Using ExcelXmlWriter (Without Having Excel!)
      4.12 Creating PDFs with iTextSharp
      4.13 For More Information

5. Generating Code
      5.1 Creating Code Automatically with MyGeneration
      5.2 Generating Your Data-Access Layer with Codus
      5.3 Writing Your Web Services Contract First with WSCF
      5.4 Generating XML Schemas and Strongly Typed DataSets with XSD.exe
      5.5 Practicing Contract-First XML Development with XSDObjectGenerator
      5.6 For More Information

6. Writing Code
      6.1 Building .NET Applications with Visual Studio Express
      6.2 Developing .NET Applications Using SharpDevelop
      6.3 Writing Mono Applications on Linux and Mac OS X with MonoDevelop
      6.4 Creating Standalone Snippets with Snippet Compiler
      6.5 Handling Small Tasks with Notepad2
      6.6 Mastering Regular Expressions with the Regulator
      6.7 Creating Regular Expressions with ReguLazy
      6.8 For More Information

7. Creating Documentation
      7.1 Documenting Your Source Code with GhostDoc
      7.2 Viewing Documentation in Visual Studio with CR_Documentor
      7.3 Creating Professional Documentation with NDoc
      7.4 Printing PDF Documents with PDFCreator
      7.5 Building a FAQ with skmFAQs
      7.6 For More Information

8. Enhancing Visual Studio
      8.1 Boosting Productivity with CoolCommands
      8.2 Improving Visual Studio's Designers with the PowerToy for Class and Distributed Systems Designers
      8.3 Opening Files Quickly with VSFileFinder
      8.4 Mastering Unmanaged APIs with PINVOKE.NET
      8.5 Spell Checking ASP.NET and HTML with the HTML/ASP.NET Spell Checker Add-in
      8.6 Switching Window Layouts Quickly with VSWindowManager
      8.7 Blogging or Emailing Your Code in Style with the CopySourceAsHtml Visual Studio Add-in
      8.8 Editing CSS in Visual Studio with the CSS Properties Window
      8.9 Bringing Web Application Projects Back to Visual Studio 2005
      8.10 Sharing Your Visual Studio Goodies with the Content Installer Power Toys
      8.11 For More Information

Part II. Checking Code

9. Analyzing Your Code
      9.1 Checking Complexity and Dependencies with Peli's Reflector Addins
      9.2 Checking Your Source Code's Complexity with SourceMonitor
      9.3 Analyzing Code Inside Visual Studio with CR_Metrics
      9.4 Finding Your Code's Dependency Complexities with NDepend
      9.5 Writing Better Code with FxCop
      9.6 For More Information

10. Testing Your Software
      10.1 Unit Testing Your Code with NUnit
      10.2 Speeding Your Test Development with NUnit Code Snippets
      10.3 Writing Advanced Unit Tests with MbUnit
      10.4 Getting More from Your Tests with Zanebug
      10.5 Bringing Your Customers into the Testing Process with FitNesse
      10.6 Analyzing Unit-Test Coverage with NCover
      10.7 Analyzing Code Coverage with NCoverExplorer
      10.8 Integrating Unit Testing into Visual Studio with TestDriven.NET
      10.9 Integrating Mock Objects into Your Testing with NMock 2.0
      10.10 Creating Strongly Typed Mocks with Rhino.Mocks
      10.11 Unit Testing Your GUI with NUnitForms
      10.12 Creating Performance Benchmark Tests with NTime
      10.13 Automating Web Application Testing with Selenium Core
      10.14 Driving Your Web Applications Automatically with Watir
      10.15 For More Information

Part III. Running a Development Project

11. Working with Source-Control Systems
      11.1 Setting Up Subversion Rapidly with SVN 1-Click Setup
      11.2 Accessing Subversion and CVS with TortoiseCVS and TortoiseSVN
      11.3 Using Subversion Inside Visual Studio with AnkhSVN
      11.4 Removing Visual Source Safe Bindings with SourceSafe Binding Remover
      11.5 Comparing Files with WinMerge
      11.6 For More Information

12. Building, Using Continuous Integration on, and Deploying Your Applications
      12.1 Creating Consistent Builds with NAnt
      12.2 Automating Your Build Process with MSBuild
      12.3 Building .NET 1.1 Assemblies in MSBuild with MSBee
      12.4 Extending MSBuild Capabilities with MSBuild Community Tasks
      12.5 Managing Your Build Process Visually with MSBuild Sidekick
      12.6 Shortening the Development Cycle with CruiseControl.NET
      12.7 Easing the Burden of Implementing a Continuous Integration Process with CI Factory
      12.8 Simplifying Web Application Deployments with Unleash It
      12.9 Easing Web Application Deployments with Web Deployment Projects
      12.10 Creating a Setup Project with WiX
      12.11 For More Information

13. Boosting Team Collaboration
      13.1 Improving Team Communication and Collaboration with Basecamp
      13.2 Building Online Communities with Community Server
      13.3 Creating a Blog with Subtext
      13.4 Collaborating Online with FlexWiki
      13.5 Driving Another PC Remotely via XP's Remote Assistance
      13.6 Talking to Colleagues with Skype
      13.7 Chatting with Anyone Using GAIM
      13.8 Administering Team Foundation Users with the TFS Administration Tool
      13.9 For More Information

14. Tracking Bugs, Changes, and Other Issues
      14.1 Implementing a Bare-Bones Defect Tracker with BugTracker.NET
      14.2 Handling Mid-Sized Projects with CodeTrack
      14.3 Running an Enterprise-Level Bug-Tracking System with Bugzilla
      14.4 Managing a Project with Trac
      14.5 For More Information

Part IV. Troubleshooting Code and Applications

15. Troubleshooting and Debugging
      15.1 Monitoring File Access in Your System with Filemon
      15.2 Identifying TCP Port and Endpoint Issues with TCPView
      15.3 Seeing What's Being Accessed in Your Registry with Regmon
      15.4 Getting a Better View of Processes on Your System with Process Explorer
      15.5 Digging into Your Program's CLR Interactions with PInvoke and COM Using CLR SPY
      15.6 Tracking Down Memory-Allocation Problems with CLR Profiler
      15.7 Debugging Your Application After It's Been Deployed with ClrDump
      15.8 Debugging Hangs and Monitoring Processes with Managed Stack Explorer
      15.9 Examining HTTP Traffic with Fiddler
      15.10 Identifying Network Problems with PingPlotter Freeware
      15.11 Examining Logs with LogParser
      15.12 Simplifying Debugging with Visual Studio 2005 Visualizers
      15.13 Finding Bottlenecks with NProf
      15.14 For More Information

16. Using Decompilers and Obfuscators
      16.1 Examining Common Ground with ILDASM
      16.2 Analyzing Assemblies with Reflector
      16.3 Debugging .NET Assemblies Without Source Code Using Dotnet IL Editor
      16.4 Preventing Reverse-Engineering of Your Code with Dotfuscator
      16.5 For More Information

Part V. Code Tools

17. Tightening Up Your Security
      17.1 Analyzing Threats Your Application Faces with the Threat Analysis & Modeling Tool
      17.2 Protecting Your Communications with the Bouncy Castle Cryptography APIs
      17.3 Mitigating XSS Vulnerabilities with the Anti-Cross Site Scripting Library
      17.4 Highlighting Explorer Windows' Security Privileges Using PrivBar
      17.5 Opening a Command Window with Admin Privileges Using MakeMeAdmin.cmd
      17.6 For More Information

18. Building Your Application on Frameworks
      18.1 Reusing Professional Infrastructure with Enterprise Library
      18.2 Creating Web Applications and Systems with DotNetNuke
      18.3 Improving Smart Device Development with the Smart Device Framework
      18.4 Building and Deploying Cross-Platform .NET Applications with Mono
      18.5 Spelunking the Framework with Rotor
      18.6 Simplifying Web Development with Castle MonoRail
      18.7 Obtaining a Decoupled Architecture with the Castle Windsor Container
      18.8 Improving Your Code's Design and Testability with PicoContainer.NET
      18.9 For More Information

19. Working with XML
      19.1 Transforming XML Documents with nxslt2
      19.2 Displaying XML on the Web with eXml
      19.3 Building Composite XML Documents with XInclude.NET
      19.4 Referencing Part of an XML Document with XPointer.NET
      19.5 Extending XSLT Processing with EXSLT.NET
      19.6 Comparing and Unit Testing XML with XML Diff and Patch
      19.7 For More Information

Part VI. Working with Databases

20. Interacting with Databases
      20.1 Finding the Proper Connection String with
      20.2 Creating SQL Connection Strings Quickly with SQL Server Connection String Builder
      20.3 Administering SQLite Databases with the SQLite Administrator
      20.4 Working with Oracle Inside Visual Studio with Oracle Developer Tools
      20.5 Managing Oracle Databases with Oracle SQL Developer
      20.6 For More Information

21. Exploring Object/Relational Mapping
      21.1 Mapping Objects to the Database with NHibernate (or How to Stop Writing All That Data-Access Code)
      21.2 Mapping Business Objects with NPersist
      21.3 Easing the Burden of Creating O/RM Files with ObjectMapper
      21.4 Simplifying Data Access with Castle ActiveRecord
      21.5 For More Information

Part VII. Miscellaneous

22. Enhancing Web Development
      22.1 Avoiding Web Headaches with the Web Developer Extension for Firefox
      22.2 Debugging Web Pages with the Web Developer Toolbar for Internet Explorer
      22.3 Diagnosing JavaScript and Ajax with Web Development Helper
      22.4 Eliminating Memory Leaks in Internet Explorer with Drip
      22.5 Debugging Web Pages at Runtime with DOM Helper
      22.6 Checking Web Pages with the W3C Markup Validation Service
      22.7 Checking Your Web Site's Accessibility with WebXACT
      22.8 Cleaning Up Your HTML with HTML Tidy
      22.9 For More Information

23. Boosting Productivity with Windows Utilities
      23.1 Launching Tools and Web Sites Quickly with SlickRun
      23.2 Spotlighting Content in Your Presentations with ZoomIt
      23.3 Getting to the Right Detail with Magnifixer
      23.4 Extracting Files from Windows Installer Packages with Less MSIérables
      23.5 Handling FTP More Efficiently with FileZilla
      23.6 Opening a Shell Where You Need It with Command Prompt Here
      23.7 Grabbing Screenshots with Cropper
      23.8 Grabbing Color Values with ColorMania
      23.9 Bringing .NET to the Command Line with PowerShell
      23.10 Getting the Most out of PowerShell with PowerShell IDE
      23.11 Managing and Switching Tasks with TaskSwitchXP
      23.12 Keeping Data in Sync with SyncToy
      23.13 Resolving Locking Problems with Unlocker
      23.14 Bringing POSIX Emulation to Windows with Cygwin
      23.15 For More Information

Part VIII. Appendix

Common Tasks in Visual Studio