| | | 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 |