See: http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx