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