Home > Store > Programming > C#

Open Source .NET Development: Programming with NAnt, NUnit, NDoc, and More

Register your product to gain access to bonus material or receive a coupon.

Open Source .NET Development: Programming with NAnt, NUnit, NDoc, and More

Book

  • Your Price: $35.99
  • List Price: $44.99
  • Usually ships in 24 hours.

Description

  • Copyright 2005
  • Dimensions: 7x9-1/4
  • Pages: 504
  • Edition: 1st
  • Book
  • ISBN-10: 0-321-22810-3
  • ISBN-13: 978-0-321-22810-9

Perhaps the most revolutionary aspect of the arrival of Microsoft's

Perhaps the most revolutionary aspect of the arrival of Microsoft's .NET platform is the standardization of C# and the Common Language Runtime. Now, for the first time, programmers can develop and use open-source projects that are based on a language that is an international standard as well as compatible with both Microsoft and Linux platforms.

Open Source .NET Development is the definitive guide on .NET development in an open-source environment

Inside, readers will find in-depth information on using NAnt, NDoc, NUnit, Draco.NET, log4net, and Aspell.Net with both Visual Studio .NET and the Mono Project. Brian Nantz not only shares the best open-source and "free" tools, frameworks, components, and products for .NET, he also provides usable, practical examples and projects. The result is a highly accessible reference for finding the tools that best fit your needs.

Highlights include

  • An introduction to open source and its implementations of the .NET standards
  • .NET development with open-source tools, including build automation, XML documentation, unit testing, continuous integration, and application logging
  • A simple example of Integrating .NET open-source projects that integrates an Open Source SVG component with a System.Drawing graphical editor
  • An Aspell.Net case study that shows the use of Draco.NET Continuous Integration in conjunction with NAnt, NUnit, NDoc, and the SharpDevelop IDE
  • An exclusive look at ADO.NET database and ASP.NET Web development using PostgreSQL that runs on both Windows and Linux
  • Appendixes on NAnt and NAntContrib tasks, log4netAppender configurations, and open-source security observations
  • Whether you are a .NET developer interested in learning more about open-source tools or an open-source developer curious about .NET, this book will bridge the divide between these formerly distinct camps.

Sample Content

Online Sample Chapter

Open Source .NET Development: ASpell.NET Case Study

Downloadable Sample Chapter

Download the Sample Chapter related to this title.

Table of Contents

Preface.

I. INTRODUCTION TO OPEN SOURCE AND .NET.

1. What Is Open Source?

    Introduction.

    Microsoft and Open Source.

    Open Source, Free Software, and Shared Source. Oh MY!

      Free Software.

      Shared Source.

      Open Source Software.

    Tips on Selecting a License.

    Using Open Source in Your Proprietary Product.

    Summary.

2. Open Source and the .NET Platform.

    Introduction.

    .NET Standards.

    Standardization.

      Standards Organizations.

      What Is in the Standards.

      What Is Not in the Standards.

    Implementations.

      Microsoft’s .NET CLR.

      Compact Framework.

      SSCLI / Rotor.

      Portable.NET.

      Mono.

    Summary.

II. .NET DEVELOPMENT WITH OPEN SOURCE TO0LS.

3. General Development.

    Introduction.

    .NET Editing Tools.

      Editor Features.

      Emacs.

      VIM.

      Sharp Develop.

      Web Matrix.

      Eclipse.

    Documentation Tools.

      Open Office.

      ArgoUML.

    Source Control Management.

      Concurrent Versioning System.

      Subversion.

    Databases.

      MSDE.

      MySQL.

      PostgreSQL.

    Web Servers.

      IIS.

      Apache.

      Cassini.

      XSP.

    Other Development Tools for .NET.

      BugZilla.

      Merge and Diff Utilities.

      Obfuscator.

      Web Service Utilities.

      Regular Expressions.

      CLRSpy.

      Vil.

    Summary.

4. Build Automation.

    Introduction.

    What NAnt Is.

    What NAnt Is Not.

    Using NAnt.

      Executing NAnt.

    Why Use NAnt?

      Ant.

      csAnt.

      BuildIt.

      Other Build Tools.

    Data Types.

      Fileset.

      Patternset.

      Optionsets.

      Environment Variables.

      Properties.

    SCM Integration.

    NAnt Best Practices.

    Migrating to NAnt.

    Examples.

      Simple Exe.

      Simple DLL.

      ASP.NET and Web Services.

      Windows Service.

      Windows Form.

      Unsafe, Interop, and Other.

      Handling Large Products.

    Extending NAnt.

      NAnt Base Classes.

      NAnt Tasks’ Error Handling.

      Enabling Your Task to Handle Multiple Versions of .NET.

      Extending NAnt Example.

    Extending NAntContrib.

      Enabling Your Task to Handle Multiple Versions of NAnt.

      MakeIsoFs Task.

    Useful Tools for Use with NAnt.

      FxCop.

      Artistic Style.

      HTML Tools.

      NAntPad.

      NAntMenu Shell Extension.

      Visual Studio.NET 2003.

    Summary

5. XML Documentation.

    Introduction.

    C# XML Documentation.

      Validated Tags.

      Nonvalidated Tags.

      C# XML Documentation Tag Reference.

    Configuring the C# Compiler to Create the XML File.

    Documentation Tools.

       MonoDoc.

      Portable.NET csDoc.

      NetDoc.

      Documentor for .NET.

    NDoc.

      NDoc Functionality.

      NDoc Documentors’ Formats.

    NAnt Integration.

    Summary.

6. Unit Testing.

    Introduction.

    Unit Testing.

    Unit Testing Platforms.

    NUnit Architecture.

    NUnit Example.

      NUnit Attributes.

      Example.

      NUnit Assertions.

      ExpectedException.

      NUnit Exceptions.

    Integration with NAnt.

      NUnit Task.

      NUnit Report Task.

    NUnitASP.

    Other Tools Useful with NUnit.

      NCover.

      Object Mocking.

      HttpUnit.

      DbUnit.

    Performance and Other Testing Tools.

      Windows Application Verifier.

      nProf and nProfiler.

      FxCop.

       HTML Tools

    Summary.

7. Continuous Integration.

    Introduction.

      What Is Continuous Integration?

      What Are the Benefits of Continuous Integration?

      How Does Continuous Integration Fit with .NET?

      How to Evaluate a Build System.

      Conceptual Design Overview.

    Hippo.NET.

      Installing.

      Configuring.

      Running.

    Draco.NET.

      Installing.

      Configuring.

      Running.

      Build System.

    CruiseControl.NET.

      Installing.

      Configuring.

      Running.

      FXCop Integration.

    Summary.

8. Application Logging.

    Introduction.

    Application Logging.

    Architecture.

    Loggers.

      Hierarchy.

      LogManager.

    Levels.

    Appenders.

    Filters.

    Layouts.

    ObjectRenderer.

    Configuration.

      Programmatic Configuration.

      Runtime Configuration.

      Configurations in a Smart Client.

    Logging with Context Information.

      MDC.

      NDC.

    WMI.

    Performance and Scalability.

      GAC.

      Parameter Construction.

      Hierarchy.

      Stack Tracing.

    Examples.

      Windows Forms and Console Applications.

      ClassLibraries.

      ASP.NET and Web Services.

      Serviced Components.

      Remoting.

      Windows Services.

    Log File Readers.

      LogFactor5.

      Network Log Client.

      Chainsaw.

    Extending Log4Net.

      Error Handling.

      Custom Filters.

      Custom Layout.

      Custom Appender.

      Custom Renderer.

    Summary.

III. INTEGRATING .NET OPEN SOURCE PROJECTS IN YOUR DEVELOPMENT.

9. ASpell.NET Case Study.

    Introduction.

    Test First Development.

    NAnt Build.

    Subversion.

    Draco.NET.

    Adding Functionality.

    Summary.

10. Database Development.

    Introduction.

    Open Source Databases.

      Sleepycat Berkeley Database.

      MSDE.

      MySQL.

      Which Database to Choose?

    PostgreSQL.

      Installation.

      Cygwin.

       Administration Tools.

    PostgreSQL ADO.NET Data Providers.

    PostgreSQL, NPgSql, and FreeDB Example.

      What Is FreeDB?

      Importing FreeDB to PostgreSQL.

      Creating a .NET Class Library for FreeDB.

    Summary.

11. Web Development.

    Introduction.

    Cross Platform ASP.NET and Web Services.

      Cassini.

      XSP.

      Apache.

      Which Web Server to Use?

    Setting Up the Environment.

      Setting Up Mono and XSP.

    Web Service Example.

    ASP.NET Example.

    Summary.

12. Simple Project Integration.

    Introduction.

    Popular Projects.

    An Example of Integration.

      SVG.

      System.Drawing and GDI+.

    SharpVectorGraphics Project.

    Didgets Project.

    Other Open Source Projects.

    The Integration.

      Where to Go from Here.

      Licensing Considerations.

    Summary.

IV. REFERENCES

Appendix A: NAnt Tasks.

Appendix B: NAntContrib Tasks.

Appendix C: mkisofs.

    Name.

    Synopsis.

    Description.

    Options.

    Hfs Options.

    Hfs Creator/Type.

    Hfs Macintosh File Formats.

    Hfs Macintosh Filenames.

    Hfs Custom Volume/Folder Icons.

    Hfs Boot Driver.

    El Torito Boot Information Table.

    Configuration.

    Examples.

    Author.

    Notes.

    Bugs.

    Hfs Problems/Limitations.

    Future Improvements.

    Availability.

    Mailing Lists.

    Maintainer.

    Hfs Mkhybrid Maintainer.

Appendix D: Log4NET Appender Configurations.

    ADONetAppender.

      MS SQL Server.

      MS Access.

      Oracle9i.

      ASPNetTraceAppender.

      BufferingForwardingAppender.

      ConsoleAppender.

      EventLogAppender.

      FileAppender.

      ForwardingAppender.

      MemoryAppender.

      NetSendAppender.

      OutputDebugStringAppender.

      RemotingAppender.

      RollingFileAppender.

      SMTPAppender.

      TraceAppender.

      UdpAppender.

Appendix E: Open Source Security Observations.

Glossary.

Index.

Index

Download the Index file related to this title.

Updates

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership