.net 4 compatability directives and shims