So maybe I’m late to the party, but I recently started playing with NuGet. It’s a killer new way to find, install, maintain, and manage references to open source libraries in Visual Studio 2010. Plenty of people have written about it (Phil Haack and Scott Hanselman for example). Let’s just say you should learn about NuGet if you don’t know it already.
What I want to talk about is all the cool open source projects I found just by flipping through the pages of the NuGet directory in the Visual Studio “Add Library Package Reference” dialog.
1. RazorEngine at http://razorengine.codeplex.com/
RazorEngine is templating engine built upon Microsoft’s Razor parsing technology. The Razor Templating Engine allows you to use Razor syntax to build robust templates No need to learn a custom clunky API for generating things like HTML and emails and so on. Just use the hot new @Razor syntax from ASP.NET MVC 3.
2. YUI Compressor for .Net at http://yuicompressor.codeplex.com/
3. 51degrees.mobi at http://51degrees.codeplex.com/
Want to build an ASP.NET MVC website that has both a desktop and mobile version from the same project? 51degrees.mobi Foundation is an ASP.NET open source module which detects mobile devices and browsers, enhancing the information available to ASP.NET. Mobile handsets can optionally be redirected to a home page designed for mobile phones. Smart phone and feature phones are all supported.
4. Lucene.Net at http://lucene.apache.org/lucene.net/
Lucene.Net is a source code, class-per-class, API-per-API and algorithmatic port of the Java Lucene search engine to the C# and .NET platform utilizing Microsoft .NET Framework. Want indexed full-text search from .NET? Here you go.
5. MvcMailer at http://www.codeproject.com/KB/aspnet/MvcMailerNuGet.aspx
Send a professional looking HTML email from your ASP.NET MVC simply by pointing at a particular view.
6. DotNetZip at http://dotnetzip.codeplex.com/
DotNetZip is an easy-to-use, FAST, FREE class library and toolset for manipulating zip files or folders. Zip and Unzip is easy: with DotNetZip, .NET applications written in VB, C# – any .NET language – can easily create, read, extract, or update zip files. For Mono or MS .NET.
7. FileDB at http://filedb.codeplex.com/
Ever wanted to have a single, simple file that you can access as a basic database without the fuss? FileDB is a free, fast, lightweight C# (v3.5) DLL project to store, retrieve and delete files using a single archive file as a container on disk. It’s ideal for storing files (all kind, all sizes) without databases and keeping them organized on a single disk file.
8. Chargify.NET at http://chargify.codeplex.com/
If you need to do recurring billing, like I need to over at http://chatpast.com, then Chargify.NET is super handy. It’s comprehensive C# API wrapper library for accessing http://chargify.com, using XML or JSON to read/write.
9. Facebook C# SDK at http://facebooksdk.codeplex.com/
Facebook is all the rage these days, and python, well… Here’s a .NET SDK for Facebook. The Facebook C# SDK helps .Net developers build web, desktop, Silverlight, and Windows Phone 7 applications that integrate with Facebook.
10. OpenSearch Toolkit at http://opensearchtoolkit.codeplex.com/
OpenSearch is a great way to “light-up” the search features of your site. For example, if you visit http://chatpast.com with Firefox and pull down the search engine selector, you’ll see “Add ChatPast Search”. Do the same in Chrome and then type chatpast.com in the omnibox and hit tab then you’re searching directly into your chat history (even when you’re not on chatpast.com). So obviously OpenSearch is awesome. This toolkit makes that easier. The OpenSearch Toolkit provides ASP.NET developers with drop-in support for OpenSearch. This lets you quickly and easily publish valid search suggestions to all the major browsers.
11. NoRM at http://normproject.org/
11.5. Simple MVVM for WPF, SL, and WP7 at http://simplemvvmtoolkit.codeplex.com/ (added after original post, hence the .5)
Simple MVVM Toolkit makes it easier to develop Silverlight, WPF and WP7 applications using the Model-View-ViewModel design pattern. The purpose of the toolkit is to provide a simple framework and set of tools for getting up to speed quickly with Silverlight applications based on the MVVM design pattern. The emphasis is on simplicity, but it should contain everything you need to implement MVVM for real-world line of business applications.
Keep in mind, that to get the latest version of any of these projects, you can just use the Visual Studio “Add Library Package Reference” dialog because of all the NuGet goodness. No need to download and manage these project references at a low level.