|  | Copyright |
|  | Preface |
|
|  | Why I Felt the Need to Write This Book |
|
|  | Who Should Read This Book? |
|
|  | How This Book Is Organized |
|
|  | Acknowledgments |
|  | Part I. Introduction to Open Source and .NET |
|
|  | Chapter 1. What Is Open Source? |
|
|  | Introduction |
|
|  | Microsoft and Open Source |
|
|  | Open Source, Free Software, and Shared Source. Oh MY! |
|
|  | Tips on Selecting a License |
|
|  | Using Open Source in Your Proprietary Product |
|
|  | Summary |
|
|  | Chapter 2. Open Source and the .NET Platform |
|
|  | Introduction |
|
|  | .NET Standards |
|
|  | Standardization |
|
|  | Implementations |
|
|  | Summary |
|  | Part II. .NET Development with Open Source Tools |
|
|  | Chapter 3. General Development |
|
|  | Introduction |
|
|  | .NET Editing Tools |
|
|  | Documentation Tools |
|
|  | Source Control Management |
|
|  | Databases |
|
|  | Web Servers |
|
|  | Other Development Tools for .NET |
|
|  | Summary |
|
|  | Chapter 4. Build Automation |
|
|  | Introduction |
|
|  | What NAnt Is |
|
|  | What NAnt Is Not |
|
|  | Using NAnt |
|
|  | Why Use NAnt? |
|
|  | Data Types |
|
|  | SCM Integration |
|
|  | NAnt Best Practices |
|
|  | Migrating to NAnt |
|
|  | Examples |
|
|  | Extending NAnt |
|
|  | Extending NAntContrib |
|
|  | Useful Tools for Use with NAnt |
|
|  | Summary |
|
|  | Chapter 5. XML Documentation |
|
|  | Introduction |
|
|  | C# XML Documentation |
|
|  | Configuring the C# Compiler to Create the XML File |
|
|  | Documentation Tools |
|
|  | NDoc |
|
|  | NAnt Integration |
|
|  | Summary |
|
|  | Chapter 6. Unit Testing |
|
|  | Introduction |
|
|  | Unit Testing |
|
|  | Unit Testing Platforms |
|
|  | NUnit Architecture |
|
|  | NUnit Example |
|
|  | Integration with NAnt |
|
|  | NUnitASP |
|
|  | Other Tools Useful with NUnit |
|
|  | Performance and Other Testing Tools |
|
|  | Summary |
|
|  | Chapter 7. Continuous Integration |
|
|  | Introduction |
|
|  | Hippo.NET |
|
|  | Draco.NET |
|
|  | CruiseControl.NET |
|
|  | Summary |
|
|  | Chapter 8. Application Logging |
|
|  | Introduction |
|
|  | Application Logging |
|
|  | Architecture |
|
|  | Loggers |
|
|  | Levels |
|
|  | Appenders |
|
|  | Filters |
|
|  | Layouts |
|
|  | ObjectRenderer |
|
|  | Configuration |
|
|  | Logging with Context Information |
|
|  | WMI |
|
|  | Performance and Scalability |
|
|  | Examples |
|
|  | Log File Readers |
|
|  | Extending Log4Net |
|
|  | Summary |
|  | Part III. Integrating .NET Open Source Projects in Your Development |
|
|  | Chapter 9. ASpell.NET Case Study |
|
|  | Introduction |
|
|  | Test First Development |
|
|  | NAnt Build |
|
|  | Subversion |
|
|  | Draco.NET |
|
|  | Adding Functionality |
|
|  | Summary |
|
|  | Chapter 10. Database Development |
|
|  | Introduction |
|
|  | Open Source Databases |
|
|  | PostgreSQL |
|
|  | PostgreSQL ADO.NET Data Providers |
|
|  | PostgreSQL, NPgSql, and FreeDB Example |
|
|  | Summary |
|
|  | Chapter 11. Web Development |
|
|  | Introduction |
|
|  | Cross Platform ASP.NET and Web Services |
|
|  | Setting Up the Environment |
|
|  | Web Service Example |
|
|  | ASP.NET Example |
|
|  | Summary |
|
|  | Chapter 12. Simple Project Integration |
|
|  | Introduction |
|
|  | Popular Projects |
|
|  | An Example of Integration |
|
|  | SharpVectorGraphics Project |
|
|  | Didgets Project |
|
|  | Other Open Source Projects |
|
|  | The Integration |
|
|  | Summary |
|  | Part IV. References |
|
|  | Appendix A. NAnt Tasks |
|
|  | <al>Wraps al, the assembly linker for the .NET Framework. |
|
|  | <attrib>Changes the file attributes of a file or set of files. |
|
|  | <call>Calls a NAnt target in the current project. |
|
|  | <cl>Compiles C/C++ programs using cl, Microsoft's C/C++ compiler. |
|
|  | <copy>Copies a file or fileset to a new file or directory. |
|
|  | <csc>Copies a file or fileset to a new file or directory. |
|
|  | <cvscheckout>Checks out a CVS Module. |
|
|  | <cvsupdate>Updates a CVS Module. |
|
|  | <delay-sign>Signs delayed signed .NET assemblies. |
|
|  | <delete>Deletes a file, fileset, or directory. |
|
|  | <description>An empty task that allows a build file to contain a description. |
|
|  | <echo>Writes a message to the build log. |
|
|  | <exec>Executes a system command. |
|
|  | <fail>Exit the current build. |
|
|  | <foreach>Loops over a set of Items. |
|
|  | <get>Get a particular file from a URL source. |
|
|  | <if>Checks the conditional attributes and executes the children if true. |
|
|  | <ifnot>The opposite of the if task. |
|
|  | <include>Include an external build file. |
|
|  | <jsc>Compiles Microsoft JScript.NET programs using jsc. |
|
|  | <lib>Run lib.exe, Microsoft's Library Manager. |
|
|  | <license>Task to generate a .license file from a .licx file. |
|
|  | <link>Links files using link, Microsoft's Incremental Linker. |
|
|  | <loadtasks>Loads tasks from a given assembly or directory. |
|
|  | <mc>Compiles messages using mc.exe, Microsoft's Win32 message compiler. |
|
|  | <mail>A task to send SMTP email. |
|
|  | <mcs>Compiles C# programs using the Mono mcs compiler. |
|
|  | <mkdir> Creates a directory and any non-existent parent directories if necessary. |
|
|  | <move>Moves a file or fileset to a new file or directory. |
|
|  | <nant> Runs NAnt on a supplied build file. This can be used to build subprojects. |
|
|  | <nantschema>Creates a schema file for all available tasks. |
|
|  | <ndoc>Runs NDoc to create documentation. |
|
|  | <nunit>Runs tests using the NUnit framework. |
|
|  | <nunit2>Runs tests using the NUnit V2.0 framework. |
|
|  | <property> Sets a property in the current project. |
|
|  | <readregistry>A task that reads a value or set of values from the Windows registry into one or more NAnt properties. |
|
|  | <regex>Sets properties based on a regular expression. |
|
|  | <regsvc>Installs .NET Windows Services. |
|
|  | <resgen>Converts files from one resource format to another (wraps Microsoft's resgen.exe). |
|
|  | <resx>Task to generate a .resources file from a .resx file. |
|
|  | <script> Executes the code contained within the task. |
|
|  | <servicecontroller> Starts and stops a Windows service. |
|
|  | <sleep> A task for sleeping a specified period of time, useful when a build or deployment process requires an interval between tasks. |
|
|  | <solution>Builds a Visual Studio .NET solution file. |
|
|  | <style>Process a document via XSLT. |
|
|  | <sysinfo>Sets a number of properties with information about the system environment. |
|
|  | <touch> Touch a file and/or fileset(s) -- corresponds to the Unix touch command. |
|
|  | <tstamp>Sets properties with the current date and time. |
|
|  | <unzip>Unzips a zip file. |
|
|  | <vbc>Compiles Microsoft Visual Basic.NET programs using vbc.exe. |
|
|  | <vjc> Compiles Visual J# programs using VJC, Microsoft's J# compiler. |
|
|  | <xmlpeek>Extracts text from a given XPath Query. |
|
|  | <xmlpoke>Replaces text from a given XPath Query. |
|
|  | <zip>A task to create a zip file from a specified fileset. |
|
|  | Appendix B. NAntContrib Tasks |
|
|  | <adsigetprop> |
|
|  | <adsisetprop> |
|
|  | <aximp> |
|
|  | <comregister> |
|
|  | <checksum> |
|
|  | <concat> |
|
|  | <disco> |
|
|  | <gac> |
|
|  | <hxcomp> |
|
|  | <hxreg> |
|
|  | <mkiisdir> |
|
|  | <iisdirinfo> |
|
|  | <deliisdir> |
|
|  | <msi> |
|
|  | <msm> |
|
|  | <mgmtclassgen> |
|
|  | <ngen> |
|
|  | <nunitreport> |
|
|  | <record> |
|
|  | <regasm> |
|
|  | <scp> |
|
|  | <slingshot> |
|
|  | <stautolabel> |
|
|  | <stcheckin> |
|
|  | <stcheckout> |
|
|  | <stlabel> |
|
|  | <stlist> |
|
|  | <sql> |
|
|  | <typedcollection> |
|
|  | <validatexml> |
|
|  | <vb6> |
|
|  | <version> |
|
|  | <vssadd> |
|
|  | <vsscheckin> |
|
|  | <vsscheckout> |
|
|  | <vssdiff> |
|
|  | <vssget> |
|
|  | <vsslabel> |
|
|  | <vssundocheckout> |
|
|  | <wsdl> |
|
|  | <xsd> |
|
|  | 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 |
|
|  | PLEASE NOTE |
|
|  | EL TORITO BOOT INFORMATION TABLE |
|
|  | CONFIGURATION |
|
|  | EXAMPLES |
|
|  | AUTHOR |
|
|  | NOTES |
|
|  | BUGS |
|
|  | HFS PROBLEMS/LIMITATIONS |
|
|  | SEE ALSO |
|
|  | FUTURE IMPROVEMENTS |
|
|  | AVAILABILITY |
|
|  | MAILING LISTS |
|
|  | MAINTAINER |
|
|  | HFS MKHYBRID MAINTAINER |
|
|  | Appendix D. Log4NET Appender Configurations |
|
|  | ADONetAppender |
|
|  | Appendix E. Open Source Security Observations |
|  | Index |