UPDATE: Added support for importing tracked forums and topics.
I'm in the process of converting my forums from Community Server to AspNetForum. While CS may support every single feature under the sun, its very big and unwieldly to work with. The more recent 2007 and 2008 versions are better, but still behemoth. I just want to drop in one simple forum with a couple subgroups, not host a million forums and blogs on my site. For this, AspNetForum fits the bill exactly.
There's no official importer for Community Server to AspNetForum, so I wrote my own. It turns out to be fairly simple. Just a SQL script will do it. Here are the steps the script goes through:
- Import the ASP.NET application, user, and membership tables
- Create the AspNetForum single sign-on linkages in its ForumUsers table
- Import the groups, forums, topics, and messages
I packaged all this up into a SQL script that handles the whole process end to end. Just edit it to point to your database and forums and it will do the rest. It assumes the following:
- You've created and set up an AspNetForum database
- You've created the ASP.NET user and membership tables in the AspNetForum database
- The AspNetForum and ASP.NET user and membership tables are new and empty
This script will import everything with the same ID values from Community Server, making mapping or redirecting easy.
To use the script in SQL Management Studio, do the following steps:
- Open the script (Import.sql) and connect it to your AspNetForum database
- Execute a search and replace operation that replaces "CSDatabaseName" with the name of your Community Server database
- Set the @applicationId variable to the ApplicationId matching your Community Server instance in the aspnet_Applications table in your CS database
- Set the @groupId variable to the GroupId of the forum group to import from the cs_Groups table
- Execute the script
Download the script and get importing! – CommunityServer2AspNetForumsImport.zip
Lutz Roeder's
Reflector is one of the most useful tools out there. It's a disassembler that allows you to point at any assembly and break down the code.
Scott Hansleman shows off a new PowerShell language plugin for Reflector as well as a nice snapshot of the other addins. It's a great read -- I keep forgetting about all the useful plugins you can add to Reflector.
I'm going to be at MIX 07 next week. If you want to meet, hang out, etc., leave me a comment, send me an email (programcsharp atnospam hotmail dot com), or give me a ring at (703) 868-2236.
Oh... and lets not forget the bling:

I use a laptop for a lot of my development, and for some reason, from time to time, NumLock keeps turning on when I log on. I discovered this behavior is controlled by a registry key, and I'm assuming some program tweaks it on install. Here's the info:
Key: InitialKeyboardIndicators
All Users: HKEY_USERS\.DEFAULT\Control Panel\Keyboard
Current User: HKEY_CURRENT_USER\Control Panel\Keyboard
The possible settings are as follows:
Off: 0
On: 2
The All Users key sets the NumLock state for the login screen.
Although I hate Visual SourceSafe with a passion, my current job requires it. I much prefer SourceGear Vault, and can't wait until the day I'm back on a Vault SCC system. But for now, I must use VSS. I recently had the problem of VSS integration not working in Visual Studio 2005. I found the following steps, based on reregistering the VSS MSSCCI (MS Source Code Control Interface) dll's:
In the VSS folder (usually C:\Program Files\Microsoft Visual SourceSafe\), register the following dll's:
- ssscc.dll
- remotevssscc.dll
- tdnamespaceextension.dll
Using regsvr32, that would look like:
regsvr32 ssscc.dll
regsvr32 remotevssscc.dll
regsvr32 tdnamespaceextension.dll
Then open VS 2005, and go to the Tools->Options and the Source Control/Plug-in Selection page. You should now be able to select Microsoft Visual SourceSafe from the plugin dropdown.
NOTE: Source control integration is not supported in the express editions of Visual Studio.
Thanks for these instructions goes toMichael Daniel.