Your textbook…

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

By Brian Nantz

ISBN-10: 0-321-22810-3

ISBN-13: 978-0-321-22810-9What's this?

Published by Addison-Wesley Professional

Pub. Date: Aug 16, 2004

Format: Paper

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.

Textbook

List Price: $44.99

Add to Shopping Cart

Members pay only $40.49

Free FedEx Ground Shipping.