, electricninja33 wrote

.NET 4.5 dramatically optimizes the TPL and other multithreading framework code without using anything new that requires Vista or later, and this is vitally important for the async/await keywords. This is my fourth company in five years and every single one mandates XP as a baseline spec for their products. There's no reason not to support Windows XP; nothing changed in WPF that will require a newer version of DirectX. Nor did anything in the CLR thread pool change to REQUIRE Vista or later. This is basically planned obsolescence.

I also would like to be able to use the "async" keyword for my two customers in a million that use Windows 95. But it's not going to happen.

You have a choice. If .NET 4.5 gives you an N% edge where N% is more than the proportion of your customers using XP, then use .NET 4.5 and drop support for XP. Otherwise, you'll just have to use .NET4.0 and wait a while before you can use your async keyword.