Code Contracts support and build procedure for .Net45
Fixed: CodeContracts found questionable comparisons where arg.Value was used without checking for null.