Free. Marketing professionals have known for years the positive results that this word produces. They use the word free to lure you in so that they can sell you something else. Luckily for you, that will not be the case in this article. All of the goodies, resources, tools, and utilities I mention are all free. They won't cost you a dime.

In this article, I will share with you the results of my search for zero-cost resources for the ASP.NET developer. Space restrictions limit the depth to which I can discuss each item that I've found, but my descriptions should be enough for you decide if you would like to research the material further.

Getting Started

It's 1:37 A.M. and you find yourself dazed and wandering through the streets of Las Vegas. You remember thinking to yourself, "With a hand like this, I can't lose!" You're tired, your feet ache, and more importantly, you're broke.

MSDE 2000 is a very attractive alternative to using the Access for small to medium-sized Web sites because it has the same security, scalability, and stability features found in other versions of SQL Server.

Fortunately, there are a number of free ASP.NET resources at your disposal so your current lack of funds isn't going to be a problem. These resources include development environments, Web controls, open source projects, utilities/tools, and a number of Web sites with articles and tutorials to select from. So relax and stop worrying. You may not have a penny to your name, but you can still develop ASP.NET Web sites!

Microsoft Resources

Why not start at the source? Microsoft provides a number of free resources that help promote ASP.NET (and .NET in general).

ASP.NET Web Matrix

It is logical to start with the ASP.NET Web Matrix Project because before you can start to build ASP.NET solutions, you need a tool to build them with. ASP.NET Web Matrix is a free (hence its inclusion in this article!) ASP.NET IDE. Microsoft designed it to be a lightweight tool designed for ASP.NET development. It features an ASP.NET and HTML designer, the ability to work directly with Microsoft Access and Microsoft SQL Server databases, support for multiple programming languages, the ability to create data-bound pages without writing any code, and the ability to work with XML Web services (see Figure 1).

Figure 1: The ASP.NET Web Matrix IDE used to create a page.

If you are already working with Visual Studio .NET and you are thinking that Web Matrix sounds like it could replace Visual Studio .NET, it can't and it won't. While Web Matrix is no Visual Studio .NET, it does serve a purpose and has one feature that Visual Studio .NET cannot match, the price!

Cassini

If you are looking for an open-source .NET Web server written in C#, I have good news for you. It exists and it's named Cassini (Figure 2).

Figure 2: The Cassini Web Server user interface is pretty simple.

When Microsoft initially released the ASP.NET Web Matrix Project it included a mini-Web server named the ASP.NET Web Matrix Web Server. Since then, Microsoft has released the complete managed C# source code and named it Cassini.

One feature of Cassini is that it will only accept requests from localhost, so you won't open your development machine up to Web server worms and other nasty code. On the other hand, since Microsoft provided the source code, you could change Cassini to accept non-localhost requests.

If you're currently using IIS and you think that you won't ever need to use Cassini, you might want to rethink that. Consider the situation where you have an application and you want to ship some ASPX files with it. You can not (and should not) assume the user will have IIS running so you can ship Cassini as a mini-IIS in your application. Since you are not dependent on IIS when using Casinni, other opportunities open up for distributing ASP.NET applications; for example, creating auto-run CDs containing ASP.NET applications.

Issue Tracker Starter Kit (Beta)

Before I jump into the Issue Tracker Starter Kit, I'll take a moment to explain what a Starter Kit is. Microsoft created them to help you build better applications. Starter Kits are functional applications, complete with source code, focused on a particular task. You customize them to do exactly what you want them to do. I liken them to using off-the-shelf software that you can customize to suit a particular client's needs. Solid documentation, adherence to Microsoft best practices, and support in the forums on ASP.NET are what you will find when you use a Starter Kit.

You can download the ASP.NET Resource CD from http://msdn.microsoft.com/asp.net/asprk/.

The Issue Tracker Starter Kit enables project teams to keep track of outstanding project tasks, the owners assigned to those tasks, project history, and other project-related issues (Figure 3). The kit supports Access and SQL Server/MSDE 2000. Only C# source code is available now, though VB .NET code should be coming soon.

Figure 3: Track project items with the Issue Tracker Starter Kit.

Time Tracker Starter Kit

The ASP.NET Time Tracker Starter Kit (Figure 4) allows users to track the time worked on projects. Microsoft has released the source code in both VB .NET and C#, and this kit supports both IIS and Cassini. Features include the ability to create projects, log work completed, track daily time, and time tracking reports.

Figure 4: Log time entries spent on projects using the Time Tracker Starter Kit.

Reports Starter Kit

The ASP.NET Reports Starter Kit (Figure 5) is a guide for creating customizable Web reports using ASP.NET. It demonstrates how to implement feature-rich reports without having to rely on third-party reporting tools. The Reports Starter Kit displays functional online reports as well as print optimized versions. You can use the sample reports to build your own reports using the techniques implemented.

Figure 5: The Reports Starter Kit demonstrates how to create and publish reports in ASP.NET.

Community Starter Kit

With the Community Starter Kit, you can quickly create a community Web site such as a user group site, a developer resource site, or a news site (Figure 6). This kit includes source code in both VB .NET and C#, and it supports both IIS and Cassini. Features include six standard content modules (Articles, Links, Downloads, Photo Gallery, Events, and Books), the ability to send newsletters, create voting polls, as well as support for RSS news feeds and XML Web services.

Figure 6: Use the Community Starter Kit to quickly create community-oriented Web sites.

Commerce Starter Kit

The Commerce Starter Kit (Figure 7) is an example of an e-commerce storefront. The source code is available in both VB .NET and C# and support is available for both IIS and Cassini. This kit contains code for tasks associated with a typical online shopping site including user authentication and personalization, a product catalog, shopping cart, and order checkout.

Figure 7: The Commerce Starter Kit is used to demonstrate how to build online store front Web sites.

Portal Starter Kit

The Portal Starter Kit demonstrates how you can use ASP.NET to build intranet and Internet Web portal applications (Figure 8). While it demonstrates a number of key features and techniques in ASP.NET, if you are serious about building Web portals you should skip the Portal Starter Kit and move on to the open-source DotNetNuke project initially based on the Portal Starter Kit.

Figure 8: Use the Portal Starter Kit to create intranet and Internet Web Portal sites.

Internet Explorer Web Controls

The Internet Explorer Web Controls are a collection of server controls for use in ASP.NET applications. The controls include a TreeView, TabStrip, MultiPage, and a Toolbar control.

The Start Kits are functional applications, complete with source code, focused on a particular task.

Use the TreeView control to create user interfaces to display hierarchical data, folders, and other tree data structures. You can view a live demo of the TreeView control on the GotDotNet site at http://www.gotdotnet.com/team/webcontrols/treeview/tree2.aspx.

Use the TabStrip control to create tabbed menus like the ones on Amazon.com. Use the MultiPage control to create a collection of PageView controls. You'll typically use the MultiPage control in conjunction with the TabStrip control to create a tabbed user interface element. You can see a demo of the TabStrip and MultiPage controls and view the Web page source on the GotDotNet site at http://www.gotdotnet.com/team/webcontrols/tab/tab1.aspx.

Use the Toolbar control to create toolbars that look and function much like the ones in typical Windows applications. View the demo of the Toolbar control on the GotDotNet site at http://www.gotdotnet.com/team/webcontrols/toolbar/tb.aspx.

You'll find additional information regarding the Internet Web Controls on the MSDN Web site. You can download them by clicking on the Source Projects tab on the ASP.NET Web site (http://www.asp.net/Default.aspx?tabindex=6&;tabid=41).

ASP.NET Resource Kit

The ASP.NET Resource Kit provides a wide variety of resources, valuable offers, and useful benefits including tools, tutorials, samples, free controls, access to great ASP.NET hosting offers ($10/month and €10/month or less), training discount offers, and more (Figure 9). In my opinion, all ASP.NET developers should have the ASP.NET Resource Kits.

Figure 9: The ASP.NET Resource Kit contains a wealth of information and valuable offers.

The free ASP.NET controls include ComponentOne Studio for ASP.NET, Infragistics NetAdvantage ASP.NET grid, /n software's IP*Works! CC ICharge component, Sax.net Security for ASP.NET, and telerik r.a.d.rotator and r.a.d. spell components. The discounted Web hosting deals from leading ASP.NET hosts in the U.S., Canada, and Europe include SQL Server database support. The included step-by-step tutorials and program guides walk you through building ASP.NET applications, accessing SQL Server data, and include hundreds of useful code samples, articles, sample book chapters, and much more. The Resource Kit also includes all of the Starter Kits mentioned earlier.

You can download the ASP.NET Resource Kit for free from the MSDN Web site (http://msdn.microsoft.com/asp.net/asprk/) or you can order a copy of the Resource CD for a small shipping and handling fee.

ASP.NET Web Site

Not surprisingly, the ASP.NET Web site (http://www.asp.net) is the ultimate ASP.NET resource. You will find a wide variety of contents here including daily updated articles, user uploaded controls, peer-to-peer support forums, tutorials, open source projects, the ASP.NET Web Matrix project, and the ASP.NET Starter Kits. You will also find a wide variety of additional resources including listings of hosting companies, .NET community Web sites, user groups, development tools, training companies, and Microsoft Solution Providers.

The MSDN Web site (http://msdn.microsoft.com) is another valuable resource for ASP.NET developers.

MSDE 2000

MSDE 2000 is another name for the Microsoft SQL Server 2000 Desktop Engine. I included it in this article because of its price?it's free!

MSDE 2000 is a royalty-free, redistributable database engine that is completely compatible with SQL Server 2000 because it is a version of SQL Server 2000. MSDE 2000 is a very attractive alternative to using Microsoft Access for small to medium-sized Web sites because it has the same security, scalability, and stability features found in other versions of SQL Server.

On a related note, Microsoft has released the SQL Server Web Data Administrator, which enables you to remotely manage your SQL Server/MSDE databases from the comfort of your favorite Web browser. With it you can create/edit databases, run ad-hoc queries, manage users and security roles, and create/edit stored procedures.

When used together, MSDE 2000 and the SQL Server Web Data Administrator provide a very powerful one-two punch to the ASP.NET developer's toolbox. (http://www.microsoft.com/sql/msde/)

In addition to the excellent content provided on the ASP.NET and MSDN Web sites, you'll find a large number of Web sites full of articles and tutorials for the ASP.NET developer. While it is nearly impossible to list them all, Table 1 lists a number of Web sites containing free content and other resources.

Open Source Projects

A number of ASP.NET open source projects are available to ASP.NET developers. The more popular ones are DotNetNuke, nGallery, and the Community Server :: Forums projects.

DotNetNuke (www.dotnetnuke.com)

DotNetNuke is a content management portal originally based on the IBuySpy portal (Portal Starter Kit) that provides a number of very useful features, including the ability to construct Web sites from pre-built modules, create user- and group-level security permissions, modify a skinable user interface, access a multi-tiered data access architecture, create administrative management reports, and it includes over 20 pre-built modules (Figure 10). In addition to the modules that ship with DotNetNuke, there are a number of free and commercially available third-party modules that provide features ranging from file uploading/downloading, to image gallery management, to complete e-commerce store fronts.

Figure 10: The popular DotNetNuke content management portal ships with over 20 modules with many more available online.

DotNetNuke is written in VB .NET though you can create your own custom modules in any .NET language. If you're considering using the Portal Starter Kit, you will be much happier going with DotNetNuke. (http://www.dotnetnuke.com) [Editor's Note: Visit the CoDe Magazine Web site for Jim's other articles about DotNetNuke.]

nGallery (www.ngallery.org)

nGallery is an image gallery project written in C#. It provides an excellent solution to store and display image galleries (Figure 11). Features include full album management, (allowing you to take control of your photo gallery online), Web-based image uploads, (so you can upload your images from anywhere and not have to use FTP to upload images), and it is fully skinable, (allowing you to use your own skin to design the look and feel of your nGallery site).

Figure 11: nGallery is an image gallery application.

nGallery will soon become known as CommunityServer :: Gallery and will be available on the http://www.telligentsystems.com site.

.Text (dottextwiki.scottwater.com)

.Text is a blogging engine written in C# that is currently being used to host hundreds of blogs. You can use it to host an unlimited number of blogs using a single IIS application.

While Web Matrix is no Visual Studio .NET, it does serve a purpose and has one feature that Visual Studio .NET can not match?the price!

.Text will soon become known as CommunityServer :: Blogs and will also be available on the http://www.telligentsystems.com site.

Community Server :: Forums (www.telligentsystems.com)

If you need to add community forums capabilities to your current or next ASP.NET project, then look no further than the Community Server :: Forums project (Figure 12). Among the many features you will find RSS syndication (RSS), file attachments, customizable permission sets, search tools, topic ratings, skins/themes, and email notification integration.

Figure 12: The Community Server forums are the forums by which others are judged.

Because it is an open-source project, you can download the entire C# source code and modify it to suit a particular need you may have. Community Server :: Forums is managed and developed primarily by Telligent Systems.

You can download Community Server :: Forums from the http://www.telligentsystems.com web site.

Web Controls

Next I will cover a couple of places where you can find free ASP.NET Web controls.

Metabuilders (www.metabuilders.com)

The MetaBuilders Web site contains over 25 free controls for the ASP.NET developer. Notable controls include:

  • FirstFocus. Sets the focus to a specified control after a page has loaded.
  • FileUpload. Provides an implementation of the uploading HTML element.
  • UpDown. Emulates a Windows spinner control.

Space prevents me from mentioning any more of these controls but they are definitely worth checking out.

Point your browser at the MetaBuilders Web site for live demos of their free controls. (http://www.metabuilders.com)

eXcentrics World (www.eworldui.net)

The eXcentrics World Web site has ten Web controls available for free all in a single assembly. Controls include:

Breadcrumb Trail. Displays a history of user navigation.

Numeric Textbox A Time Picker control for selecting a particular time value.

Calendar Popup. Doesn't require a postback to the server.

Point your browser to the eXcentrics World Web site for live demos of their free controls. (http://www.eworldui.net)

Utilities and Tools

In addition to the free ASP.NET Web controls, there are a number of free utilities available to make life easier for the ASP.NET developer.

UNLEASH IT (Formerly Known as WebDeploy)

By the time you read this, Matt Hawley should have released the recently re-named version of his very cool Web application deployment tool (Figure 13). UNLEASH IT takes Visual Studio Web projects and strips out all of the files you do not need for deployment.

Figure 13: Web Deploy strips out the Visual Studio files not needed when you deploy an ASP.NET application.

Find out the latest about UNLEASH IT on Matt's blog at http://weblogs.asp.net/mhawley/archive/2004/08/16/215110.aspx.

ASP.NET Version Switcher

The ASP.NET Version Switcher is a simple utility that quickly switches the .NET Framework version that the ASPX pages are compiled against. Developers who have to test their Web applications for compatibility with different version of the .NET Framework will find this utility very helpful. Under the covers it uses the ASPNET_REGIIS command line tool that is included in the Microsoft .NET Framework.

Download the latest version of ASP.NET Version Switcher from http://www.denisbauer.com/NETTools.aspx.

Summary

Obviously it is impossible for me to list all of the free Internet resources for the ASP.NET developer, or go into much depth on the ones I did cover. My goal was to provide you with a solid starting point as you begin to accumulate free tools for your ASP.NET toolbox. Occasionally doing a Google search for "free ASP.NET resources," "free ASP.NET controls," and "free ASP.NET tools" should yield references to the latest free resources available. Oh yeah. Better luck next time in Las Vegas!