HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
One of the changes Microsoft brought with .NET was to submit C# and theCommon Language Runtime for standardization. As a result, for the first time,people have been able to develop open source tools that can be used withMicrosoft's tools. These open source tools are important because they givedevelopers increased efficiency and flexibility. This is the first book to showhow to use these new tools, including NAnt, NDoc, NUnit, Draco.net,Log4Net, and ASpell.Net. The author is an active member of the open sourcecommunity, and has contributed to several of these projects. He shows how touse all the tools with both Visual Studio .NET and with the Mono Project, theleading Open Source IDE for .NET. This book should appeal equally to .NETdevelopers intersted in what open source tools are available to them, as well asto open source developers who are curious about .NET. Just as Javadevelopers have embraced open source Java tools such as Jakarta, Ant, andJUnit, .NET developers are eager for this information.
Further Subversion Steps: Get Motoring with TortoiseSVN
The Message Loop Is Your Friend
Open Source .NET Development: ASpell.NET Case Study
Download the Sample
Chapter related to this title.
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.
Download the Index
file related to this title.