8 hours ago, 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.