Jedynym bezpiecznym sposobem użycia asynchroniczny/czekają .net 4.0 obsługujący użytkowników XP bez instalowania KB2468871 instaluje asynchroniczny CTP v3 w porównaniu do 2010 SP1, nuget microsoft bcl async i implementując własne AsyncTaskMethodBuilder i AsyncVoidMethodBuilder. (i usuń odniesienie async ctp dll)
Jest to jedyny sposób implementacji asynchronicznej CTP nie asynchronizowanej w .net4, w porównaniu z 2010, bez instalacji vs 2012, netto 4.5 lub KB2468871 BUDOWAĆ.
Jakakolwiek inna gotowa do użycia implementacja asynchronizacji na .net4 tam wykorzystuje nowy sposób implementacji i mostkowania kodu asynchronicznego w procesie kompilacji, dlatego musisz zainstalować asynchroniczny CTP, jest to jedyna implementacja asynchroniczna dla .net4 , modyfikując kompilator csc, aby go obsłużyć.
Firma Microsoft zmieniła typ użycia kompilatora w C# 5 i .net 4.5, aby wygenerować kod asynchroniczny, zasadniczo może to zrobić z łatwością dla .net4, ale zamiast tego zdecyduje zmusić kogokolwiek do zainstalowania vs 2012 i .net 4.5, coś, co jest niedopuszczalne dla firm, które muszą obsługiwać użytkowników XP, ponieważ nie będziesz w stanie zobaczyć i naprawić żadnych błędów .net 4, które zostały naprawione w .net 4.5.
Microsoft.Bcl.Async, AsyncTargetingPack, AsyncBridge one wszystkie NIE BĘDĄ działać bez zainstalowanego .net 4.5 lub KB2468871 dla .net 4.0.
ZOSTANĄ CAŁKOWITA PRACA, jeśli zaimplementujesz AsyncTaskMethodBuilder i AsyncVoidMethodBuilder na własną rękę, możesz nawet skopiować/wkleić jego implementację z async ctp v3 z drobnymi zmianami i to po prostu zadziała.
Jeśli naprawdę zależy ci na wymaganiach związanych z wdrażaniem i innych sprawach związanych z obsługą użytkowników XP, zdecydowanie radzę zrobić to, co opisałem.
Zgaduję, że to wymóg wdrożenia. Zauważ, że ASP.NET * wymaga * .NET 4.5; Obsługa .NET 4.0 jest przeznaczona tylko dla aplikacji komputerowych. –
@StephenCleary, tak jest w przypadku aplikacji na komputer, gdzie obsługa XP jest nadal wymagana. – Dan
Po przeczytaniu uwag do wydania, zgaduję, że jest to konieczne z powodu cechy 5: obsługa PCL. –