Home > Store > Programming > C#
Open Source .NET Development: Programming with NAnt, NUnit, NDoc, and More
- By Brian Nantz
- Published Aug 16, 2004 by Addison-Wesley Professional.
- Copyright 2005
- Dimensions: 7x9-1/4
- Pages: 504
- Edition: 1st
- Book
- ISBN-10: 0-321-22810-3
- ISBN-13: 978-0-321-22810-9
Register your product to gain access to bonus material or receive a coupon.
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.
Related Articles
Online Sample Chapter
Open Source .NET Development: ASpell.NET Case Study
Index
Download the Index
file 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.
Downloadable Sample Chapter
Download the Sample
Chapter related to this title.
This book includes Instant Online Access with
and free shipping!
Instant Online Access with Safari Books Online
With your book purchase you are entitled to free, instant online access to that book on Safari Books Online for 45 days. After you've completed your purchase, you will receive instructions on how to log into Safari Books Online. If you do not want to receive online access to the book, simply uncheck the box for Instant Online Access in your cart.
- Save more by becoming a member.
- Request an Instructor or Media review copy.
- Corporate, Academic, and Employee Purchases
- International Buying Options
Online access to books, videos, and tutorials from Addison Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media and others - starting as low as $22.99. Learn more and start a free trial.



Account Sign In
View your cart