Book description
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 (www.hanselman.com/tools), 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.
Publisher resources
Table of contents
- Windows Developer Power Tools
- Foreword
- Credits
-
Preface
- Why a Book About Tools?
- Why a Book About Freeware and Open Source Tools?
- But Doesn’t Visual Studio Team System Handle All This?
- About Open Source Licenses
- About This Book
- Audience
- Assumptions This Book Makes
- Contents of This Book
- The Book’s Companion Web Site
- Conventions Used in This Book
- Using Code Examples
- Comments and Questions
- Safari® Enabled
- Acknowledgments
-
I. Writing Code
-
1. Building ASP.NET Applications
- 1.0 Introduction
- 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
-
3. Developing in .NET 3.0 (a.k.a. “WinFx”)
- 3.0 Introduction
- 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.0 Introduction
- 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.0 Introduction
- 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.0 Introduction
- 6.1 Building .NET Applications with Visual Studio Express
-
6.2 Developing .NET Applications Using SharpDevelop
- Getting Started
-
Using SharpDevelop
- Unit testing
- Checking code coverage
- Converting code between languages
- Targeting different .NET Frameworks
- Building cross-platform development applications
- Creating and running NAnt build scripts
- Finding and inserting PInvoke signatures
- Testing regular expressions
- Previewing and generating documentation
- SharpDevelop versus Visual Studio Express
- Getting Support
- 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.0 Introduction
- 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.0 Introduction
- 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
-
1. Building ASP.NET Applications
-
II. Checking Code
-
9. Analyzing Your Code
- 9.0 Introduction
- 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.0 Introduction
-
10.1 Unit Testing Your Code with NUnit
- Getting Started
-
Using NUnit
- Testing assertions
- Testing for thrown exceptions
- Initializing and cleaning up objects for testing
- Disabling and tracking problem tests
- Using hierarchies of test classes to organize your tests
- Running tests from more than one assembly
- Testing code that requires config files
- Grouping tests by custom criteria
- Extending NUnit with your own assertions
- Running tests from the command line
- Running tests in NAnt
- Wrapping into your continuous integration process
- Getting Support
- 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
-
9. Analyzing Your Code
-
III. Writing Code
-
11. Working with Source-Control Systems
- 11.0 Introduction
- 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.0 Introduction
- 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.0 Introduction
- 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
-
11. Working with Source-Control Systems
-
IV. Troubleshooting Code and Applications
-
15. Troubleshooting and Debugging
- 15.0 Introduction
- 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
-
15. Troubleshooting and Debugging
-
V. Code Tools
-
17. Tightening Up Your Security
- 17.0 Introduction
- 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.0 Introduction
- 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.0 Introduction
- 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
-
17. Tightening Up Your Security
-
VI. Working with Databases
-
20. Interacting with Databases
- 20.0 Introduction
- 20.1 Finding the Proper Connection String with ConnectionStrings.com
- 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.0 Introduction
- 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
-
20. Interacting with Databases
-
VII. Miscellaneous
-
22. Enhancing Web Development
- 22.0 Introduction
- 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.0 Introduction
- 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
- Getting Started
-
Using Cygwin
- Using Unix utilities on Windows
- Using symbolic links to work with files
- Running ash, bash, tcsh, and ksh scripts
- Compiling programs
- Building non-Cygwin programs
- Building DLLs
- Integrating Windows resources
- Manipulating Windows facilities with Cygwin
- Caveats: Cygwin and Windows native programs
- Other Cygwin tools
- Getting Support
- 23.15 For More Information
-
22. Enhancing Web Development
- VIII. Appendix
- Index
- About the Authors
- Colophon
- Copyright
Product information
- Title: Windows Developer Power Tools
- Author(s):
- Release date: December 2006
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491909607
You might also like
book
Visual Basic 2015 Unleashed
Using Visual Basic 2015, developers can build cutting-edge applications that run practically anywhere: on Windows desktops, …
book
iOS 8 for Programmers: An App-Driven Approach with Swift, 3rd Edition
The professional programmer’s Deitel® guide to iPhone® and iPad® app development using iOS® 8, Swift™, Xcode® …
book
Introducing .NET 6: Getting Started with Blazor, MAUI, Windows App SDK, Desktop Development, and Containers
Welcome to .NET 6, Microsoft’s unified framework that converges the best of the modern and traditional …
book
Android Studio 4.1 Development Essentials – Kotlin Edition
Acquire the skills necessary to develop Android apps using the Android Studio integrated development environment and …