Semantic versioning – the way you should do it

It seems everyone I meet is struggling with software versioning. Although it should be fairly easy to deliver consistently versioned software, it almost always appears to be ‘nearly perfect’. And just that ‘nearly’ part makes it crappy and unreliable. However, there is light at the end of the tunnel ;) : here is a great post about semantic versioning – the way you should do it:

ILMerge and .NET 4.0 projects – Unresolved assembly reference not allowed…

For plugin development on an ASP.NET website (using  MEF), I am trying to use ILMerge to merge all .NET assemblies in one assembly. I used a blog post from Scott Hanselman on ILMerge for a starter, but although I followed every step in his post, I ran into the following exception: Unresolved assembly reference not allowed: System.<WhatSoEver>. After  a little investigation, I discovered that ILMerge by default does not understand how to merge projects using the .NET 4.0 framework.

Adding an ILMerge.exe.config file with the following piece of code in it solved my problems:

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <requiredRuntime safemode="true" imageVersion="v4.0.30319" version="v4.0.30319"/>

This was able to successfully resolve my issue.

Red-Gate’s Reflector to be paid for – free alternatives?

Hi folks,

I recently discoverd that by the end of February 2011 Red-Gate stops providing Reflector for free. Although their reason sounds obvious (they cannot work for free), I think many developers still rather prefer a free IL deassembler tool. Luckily, Scott Hanselman twittered about free open source alternatives. Those open source alternative IL deassembler projects are both based on the Mono Cecil project.

I would hereby like to share them with you:

Happy coding! Cheers!

PS. Of course I am very much interested in other free alternatives. Please post your comments if any ;)

UPDATE 04/27/2011: On Twitter I heard @dotnetreflector say to @haacked that they are releasing Reflector v6 with no expiry date for existing users in May 2011!

WIX 3.5 – error LGHT0001: Unable to load DLL ‘winterop.dll’

It has been a while, but here I am again ;) … I am currently working on an old Visual Studio 2005 solution. This bugger used to be built by a build server, but that one died about a year ago. Since some bugs really needed fixing, I decided that I would build the project myself for the moment.

Problem was that the solution uses WIX 3.0, and I have WIX 3.5 installed on my machine. After converting the WIX projects I expected the project to build without any problems. Unfortunately, however, WIX crashes with the following error: error LGHT0001: Unable to load DLL ‘winterop.dll’: The specified module could not be found. (Exception from HRESULT: 0x8007007E).

After some searching on the web I found a post (not entirely my problem) with the searched solution: add the installation path of WIX to the Path variable. After this workaround everything works like a charm. Hope this helps you too ;) !

Happy coding!