After 5 years, starting from the humble BlogX that ChrisAn wrote to Clemens and then ScottH's dasBlog, I finally moved over to BlogEngine.NET today. My main reasons for moving over included a brand new codebase, more features, better themes and frequent releases.
The other platforms that I had in mind were WordPress and Grafitti CMS, I gave up on WordPress due to my hoster being on Windows and didn't want to go through the trouble of figuring out how to get url rewrites for PHP working on IIS under my hoster's limitations.
Grafitti would have been my choice but it choked when I tried to import my blog posts. I opened a ticket with Telligent Systems and the really good guys mailed me today that the fix would be out in the next release this Friday. But in the end I thought it best to go with an open source platform and one that focused solely on blogging.
Okay now to the gory details of migrating my blog over. Which actually took a total of less than 10 minutes to setup on my machine and less than 30 minutes to upload everything to my hoster.
This is what I did to get my posts over to BlogEngine.NET
1. Setup BlogEngine locally on my machine. This just involved unzipping the file and pointing IIS to the folder.
2. Exported dasBlog to BlogML
The next version of dasBlog is scheduled to include this tool out of the box but right now you'll need to download the zip that Paul Van Brenk has made available. You'll need to run the code from Visual Studio and it exports all your posts into the handy BlogML format (If anyone want's this in a nice UI let me know and I can upload it). Edit: I've released this now, see http://merill.net/post/2008/03/DasBlog-to-BlogML-Converter.aspx
3. Import BlogML into BlogEngine.NET
BlogEngine starts up a fancy ClickOnce app when you click the Import button, just feed it the BlogML file and presto all your posts and comments are migrated over.
I went with the Files and Images Moved Manually option which meant that I didn't have to mess around with moving any of the images or changing the paths.
4. Upload content
I simply deleted all the folders on my host server except for the ones that had the images and uploaded files which would usually be the content folder. Even here you could all the xml files that hold the posts.
Next I uploaded the whole BlogEngine folder that I had locally and remember to get your hosting provider to allow write permission on the App_Data folder.
5. Configure settings
Obviously you'll want to play around in the control panel of the new blog and do things like put in your Google Analytics and other tracking script (which you had to edit by hand manually), redirect to the feedburner url so that your readers get your messages.
There are some disadvantages though like the incoming links being broken but since I don't have anything noteworthy that people link to this isn't going to be a problem for me.