L'unico modo sicuro da usare async/attendono in .net 4.0 supportando gli utenti xp senza installare KB2468871 sta installando async CTP v3 in vs 2010 SP1, nuget microsoft bcl async e implementando i propri AsyncTaskMethodBuilder e AsyncVoidMethodBuilder. (e rimuovere async ctp dll reference)
È l'unico modo in cui qualsiasi implementazione asincrona CTP non asincrona in .net4, vs 2010, senza installazione vs 2012, net 4.5 o KB2468871 FUNZIONERÀ.
Qualsiasi altra implementazione pronta all'uso di async su .net4 utilizza il nuovo modo di implementare e collegare il codice asincrono all'interno del processo di compilazione, ecco perché è necessario installare CTP asincrono, è l'unica implementazione asincrona per .net4 , modificando il compilatore csc per supportarlo.
Microsoft ha modificato il tipo di utilizzo del compilatore in C# 5 e .net 4.5 per generare codice asincrono, in pratica potevano farlo facilmente per .net4, ma invece hanno scelto di forzare chiunque a installare vs 2012 e .net 4.5, qualcosa che è inaccettabile per le aziende che hanno bisogno di supportare gli utenti xp, perché non avrete modo di vedere e correggere eventuali bug .net 4 che sono stati risolti in .net 4.5.
Microsoft.Bcl.Async, AsyncTargetingPack, AsyncBridge non funzioneranno tutti senza .net 4.5 installato o KB2468871 per .net 4.0.
FUNZIONERANNO TUTTI se implementate AsyncTaskMethodBuilder e AsyncVoidMethodBuilder da soli, potete persino copiare/incollare l'implementazione da async ctp v3 con piccole modifiche e funzionerà.
Quindi, se si è davvero preoccupati dei requisiti di implementazione e di altre cose relative al supporto degli utenti di xp, vorrei consigliarvi di fare è quello che ho descritto.
Direi che è un requisito di implementazione. Si noti che ASP.NET * richiede * .NET 4.5; il supporto per .NET 4.0 è solo per le app desktop. –
@StephenCleary, sì questo è per un'applicazione desktop in cui il supporto XP è ancora un requisito. – Dan
Dopo aver letto le note di rilascio, suppongo che sia necessario a causa di Feature 5: supporto per PCL. –