As I've written in a previous blog:
I recently checked a couple of blogs about using dynamically loaded User Controls. Some of the blogs mentioned SmartPart v2 (aka SonOfSmartPart) to load ASP.NET 2.0 User Controls. This WebPart is completely targeted to SharePoint 2003, but it will remain working in MOSS 2007. When creating new Web Parts, you have the option of creating Web Parts that inherit from System.Web.UI.WebControls.WebParts.WebPart (recommended) or Microsoft.SharePoint.WebPartPages.WebPart (inherits from). The Windows SharePoint Services WebPart class exists primarily for the purpose of backward compatibility (Web Parts continue to work in Windows SharePoint Services 3.0 without modification), and to provide a small set of features that are not available in the other class.
Besides the targeting it's also not possible to use this Web Part in a ASP.NET 2.0 Portal. I know it's really easy to drag and drop a User Control in ASP.NET 2.0 Portal, but I also want to have this ability in MOSS 2007. Furthermore I like to have an option to add User Controls dynamically (not included in my Portal project). Scott Guthrie has written some astonishing info in one of his blogs about whether it will be possible to host Web Parts built as ASP.NET 2.0 User Controls within SharePoint 2007. He checked with the SharePoint team, and they told him that this will be a supported scenario via an additional component you add to SharePoint and that they'll have a Whitewater and sample on how to-do this published later this year.
I had heard some rumors that Jan Tielens was writing a Revival of SmartPart, but I couldn't wait that long. So I started to write a series of posts about my own UserControl WebPart. The goal of the series is to create a DLL which is public to everyone who wants to use it. But before I could end the series Jan posted the following blog.
Finally the latest version of the SmartPart is here: the Return of the SmartPart, also know as SmartPart v3, also know as SmartPart for SharePoint 2007. For those of you who are new to the SmartPart: the SmartPart is an open source web part that can host any ASP.NET Web User Control. What is the advantage of creating web parts by making use of the SmartPart? Well if you are familiar with the "traditional" web part development technique you probably know that you have to write lots of code, there is no designer support in Visual Studio. The SmartPart allows you to create a Web User Control (ASCX) in Visual Studio by making use of the designer, and deploy it to a SharePoint site. This release of the SmartPart is targeted for SharePoint 2007, both Windows SharePoint Services v3 (WSSv3) and Microsoft Office SharePoint Server 2007 (MOSS). Since the initial release almost 40.000 SharePoint developers have downloaded the SmartPart, get your copy today (for free of course) from the GotDotNet Workspace (in the releases section)! For those of you who have attended my session about web part development on TechEd: Developers in Barcelona, this is the version that I showed over there.
For more information about the deployment of the Return of the SmartPart, check out this post which also has a link to a small screencast. Keep an eye on my blog or www.smartpart.info for more information, examples and screencast about creating web parts the smart way!
Besides the SmartPart I still hope to finish my own UserControl WebPart.