.net 4.0?

Mar 23, 2011 at 5:11 AM

Are there any plans to upgrade to .Net 4.0?  I spent most of the day writing an email publisher, with a nice templating engine.  The problem is that I used RazorEngine, but it's .net 4.0 only.  Of course, I used unit tests all day and didn't actually try running it in monitorWang until tonight.  Can the sln be upgraded, or should I scrap it?

Mar 23, 2011 at 8:08 AM

Ok, so first up - yes, I've been thinking about going 4.0 so if anything "park" your email publisher rather than scrap it - MW -> .Net 4.0 will arrive!

I think that 4.0 has been out long enough now to not alienate any potential users so what I plan is...get v1.0.8 out and follow this up (almost) immediately with v1.0.9 as the jump to 4.0 release (no functional changes). 1.0.8 would be the last 3.5 release, 1.0.9+ is 4.0.

PS: On the subject of email publishers I have an outline plan for a contrib project that would provide a complete email service activity - essentially a central email service to allow ANY application (including MW) to easily send emails....

  • Activity plugin provides REST interface to allow email send requests to be queued
  • A request would contain all the information required to send the email (eg: the envelope data, from, to + all values required to merge into the template inc. template to use)
  • Activity plugin to service the queue of requests, picking them off the queue/table and running the template engine to merge, package & send

The templating engines I was looking at were dotLiquid or NVelocity - didn't know RazorEngine could be used outside ASP.Net (although as a good template engine it should) so would be keen to see how slick this was compared to say dotLiquid.

This would then mean the MW email publisher becomes a simple create and send request to the REST service.

Mar 23, 2011 at 2:00 PM

OK.  For now I'll download the 1.0.7 source and convert it to .net 4.0 for myself (since I need the email feature now).

I tried using nVelocity first, but couldn't get it to load the templates.  The RazorEngine turned out really nice.

Apr 11, 2011 at 5:41 PM

When it's converted to .net 4.0, you could also use the Task Parallel Library to spin up async health checks.  :)

var t = Task<int>.Factory.StartNew(() => GenerateResult());


Apr 19, 2011 at 4:04 PM

I am going to the process to convert all of my code to 4.0.  I just upgraded spring, nhibernate, & nservice bus.  The conversion was time consuming, but it should reduce the over maintenance as only having one version of the framework to care for.

Apr 19, 2011 at 5:56 PM

Hi David,

Conversion to VS2010/.Net 4.0 is the next thing on the list along with uploading the source in Mercurial in this codeplex project. Once I get v1.0.8 out (nearly there - some interesting improvements to Geckoboard Data Service you might be interested in too) I'll get it upgraded & uploaded ASAP.

FYI: v1.0.8 updates some dependencies including: NSB v2.5, Magnum v1.1 & Topshelf v2.2.1.1