Poprawka: Aplikacja, która opiera się na programu.NET Framework 2.0 przestaje odpowiadać na komputerze, który ma więcej niż 32 procesorów i.NET Framework 2.0 z dodatkiem SP2 lub programu.NET Framework 3.5 z dodatkiem Service Pack 1 jest zainstalowany

Dotyczy: .NET Framework 3.5 Service Pack 1

Symptomy


Rozpatrzmy następujący scenariusz:
  • Masz Microsoft.NET Framework 2.0 z dodatkiem Service Pack 2 (SP2) lub Microsoft.NET Framework 3.5 z dodatkiem Service Pack 1 (SP1) zainstalowanych na komputerze, który ma więcej niż 32 procesorów.
  • Uruchom aplikację, która opiera się na programu.NET Framework 2.0.
  • Aplikacja wywołuje klasy puli wątków .
  • Aplikacja wywołuje również funkcji NtGetCurrentProcessorNumber w celu uzyskania rzeczywista liczba procesorów w komputerze.
W tym scenariuszu aplikacja przestaje odpowiadać. Jeśli debugowania tego problemu, można zauważyć, że wątek oczekuje na flagi w mscorwks! ThreadpoolMgr::RecycleMemory metody.

Przyczyna


Ten problem występuje, ponieważ maksymalna liczba procesorów, których może ono poinformować wykonywalnych języka wspólnego (CLR) 2.0 to 32. Jednakże gdy funkcja NtGetCurrentProcessorNumber uzyskuje rzeczywista liczba procesorów w komputerze, a liczba ta jest większa niż 32 procesorów, Metoda ThreadpoolMgr::RecycleMemory rozpocznie nieskończoną pętlę.

Rozwiązanie


Aby rozwiązać ten problem, należy zastosować tę poprawkę, na komputerze, na którym zainstalowany jest.NET Framework 2.0 z dodatkiem SP2 lub.NET Framework 3.5 z dodatkiem SP1. Aby obejść ten problem, zobacz sekcję "Obejście problemu".

Więcej informacji na temat tej poprawki

Informacje o poprawce

Obsługiwana poprawka jest obecnie udostępniana przez firmę Microsoft. Jednak jest ona przeznaczona do usunięcia tylko problemu opisanego w tym artykule. Zastosuj ją tylko w systemach, w których występuje ten problem. Ta poprawka może być wciąż w fazie testowania. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następny dodatek service Pack zawierający tę poprawkę. Aby natychmiast rozwiązać ten problem, skontaktuj się z biurem obsługi klienta Microsoft w celu uzyskania poprawki. Aby uzyskać pełną listę numerów telefonów pomocy technicznej firmy Microsoft oraz informacje o kosztach, odwiedź następującą witrynę sieci Web firmy Microsoft:Uwaga W wyjątkowych przypadkach użytkownik telefonujący do pomocy technicznej może być zwolniony z opłaty, jeżeli wykwalifikowany pracownik pomocy technicznej firmy Microsoft ustali, że określona aktualizacja umożliwia rozwiązanie zgłoszonego problemu. Normalne koszty pomocy technicznej będą dotyczyć dodatkowych pytań oraz problemów, których rozwiązanie nie jest objęte określoną aktualizacją.

Wymagania wstępne

Musi mieć jedną z następujących czynności, aby zastosować tę poprawkę:
  • Microsoft.NET Framework 2.0 z dodatkiem Service Pack 2 (SP2)
  • Microsoft.NET Framework 3.5 z dodatkiem Service Pack 1 (SP1)

Informacje dotyczące ponownego uruchamiania

Może być konieczne ponowne uruchomienie komputera po zastosowaniu tej poprawki.

Informacje dotyczące pliku

Wersja anglojęzyczna tej poprawki ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć z karty Strefa czasowa w aplecie Data i godzina w Panelu sterowania.Uwaga Aby uzyskać informacje o dodatkowych plikach zobacz sekcję "Więcej informacji".

Informacje o plikach w systemie Windows Vista i Windows Server 2008

Wszystkie obsługiwane wersje systemu Windows Vista z dodatkiem SP2 i Windows Server 2008 z dodatkiem SP2 x86
Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
Mscorlib.dll2.0.50727.44744,550,65623-sie-201010:57x86
Mscordacwks.dll2.0.50727.4474989,01623-sie-201010:56x86
Mscorwks.dll2.0.50727.44745,819,72823-sie-201010:57x86
Sos.dll2.0.50727.4474388,93623-sie-201010:57x86
Dla wszystkich obsługiwanych wersji systemu Windows Vista z dodatkiem SP2 i Windows Server 2008 z dodatkiem SP2 x64
Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
Mscorlib.dll2.0.50727.44744,567,04023-sie-201010:56x64
Mscordacwks.dll2.0.50727.44741,758,55223-sie-201010:56x64
Mscorwks.dll2.0.50727.447410,053,45623-sie-201010:56x64
Sos.dll2.0.50727.4474485,19223-sie-201010:56x64
Wszystkie obsługiwane wersje systemu Windows Server 2008 z dodatkiem SP2 komputerów z procesorami IA-64
Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
Mscorlib.dll2.0.50727.44744,009,98423-Aug-201010:57IA-64
Mscordacwks.dll2.0.50727.44743,085,14423-Aug-201010:57IA-64
Mscorwks.dll2.0.50727.447420,176,72023-Aug-201010:57IA-64
Sos.dll2.0.50727.4474872,77623-Aug-201010:57IA-64

Informacje o plikach w systemie Windows 7 i Windows Server 2008 R2

Wszystkie obsługiwane wersje systemu Windows 7 x86
Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
Mscorlib.dll2.0.50727.50244,550,65621-Aug-201000:57x86
Mscordacwks.dll2.0.50727.5024995,67221-Aug-201000:57x86
Mscorwks.dll2.0.50727.50245,822,80021-Aug-201000:57x86
Sos.dll2.0.50727.5024388,93621-Aug-201000:58x86
Wszystkie obsługiwane wersje systemów Windows 7 i Windows Server 2008 R2 z procesorami x64
Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
Mscorlib.dll2.0.50727.50244,567,04021-Aug-201000:59x64
Mscordacwks.dll2.0.50727.50241,755,48021-Aug-201000:59x64
Mscorwks.dll2.0.50727.502410,042,70421-Aug-201000:59x64
Sos.dll2.0.50727.5024485,19221-Aug-201000:59x64
Dla wszystkich obsługiwanych wersji systemu Windows Server 2008 R2 z procesorami IA-64
Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
Mscorlib.dll2.0.50727.50244,009,98421-Aug-201000:17IA-64
Mscordacwks.dll2.0.50727.50243,082,07221-Aug-201000:17IA-64
Mscorwks.dll2.0.50727.502420,189,00821-Aug-201000:17IA-64
Sos.dll2.0.50727.5024872,77621-Aug-201000:17IA-64

Obejście


Aby obejść ten problem, użyj jednej z następujących metod.

Metoda 1

.NET Framework uaktualnienia do programu Microsoft.NET Framework 4.0.

Metoda 2

Ustawić maski koligacji procesora do pierwszych 32 procesorów przy użyciu funkcji SetProcessAffinityMask . Aby uzyskać więcej informacji na temat funkcji SetProcessAffinityMask odwiedź następującą witrynę Microsoft Developer Network (MSDN):

Stan


Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji


Informacje o dodatkowych plikach dla systemu Windows Vista i Windows Server 2008

Dodatkowe pliki dla wszystkich obsługiwanych wersji x86 dodatku SP2 dla systemu Windows Vista i Windows Server 2008 z dodatkiem SP2
Nazwa plikuX86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest
Wersja plikuNie dotyczy
Rozmiar pliku544,632
Data (UTC)23-Aug-2010
Godzina (UTC)18:02
Nazwa plikuX86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest
Wersja plikuNie dotyczy
Rozmiar pliku6,241
Data (UTC)23-Aug-2010
Godzina (UTC)18:00
Nazwa plikuX86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest
Wersja plikuNie dotyczy
Rozmiar pliku25,247
Data (UTC)23-Aug-2010
Godzina (UTC)18:02
Dodatkowe pliki dla wszystkich obsługiwanych x64-bitowego dodatku SP2 dla systemu Windows Vista i Windows Server 2008 z dodatkiem SP2
Nazwa plikuAmd64_mscorlib_b77a5c561934e089_6.0.6002.22472_none_691e72fdc6d1a8f0.manifest
Wersja plikuNie dotyczy
Rozmiar pliku607,386
Data (UTC)23-Aug-2010
Godzina (UTC)18:10
Nazwa plikuAmd64_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_cc8964d20c5a1948.manifest
Wersja plikuNie dotyczy
Rozmiar pliku6,267
Data (UTC)23-Aug-2010
Godzina (UTC)18:08
Nazwa plikuAmd64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_d3c541eb34590d75.manifest
Wersja plikuNie dotyczy
Rozmiar pliku24,663
Data (UTC)23-Aug-2010
Godzina (UTC)18:09
Nazwa plikuX86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest
Wersja plikuNie dotyczy
Rozmiar pliku544,632
Data (UTC)23-Aug-2010
Godzina (UTC)18:02
Nazwa plikuX86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest
Wersja plikuNie dotyczy
Rozmiar pliku6,241
Data (UTC)23-Aug-2010
Godzina (UTC)18:00
Nazwa plikuX86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest
Wersja plikuNie dotyczy
Rozmiar pliku25,247
Data (UTC)23-Aug-2010
Godzina (UTC)18:02
Dodatkowe pliki dla wszystkich obsługiwanych systemu Windows Server 2008 z dodatkiem SP2, wersje dla komputerów z procesorami IA-64
Nazwa plikuIa64_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cb8796db4e09da.manifest
Wersja plikuNie dotyczy
Rozmiar pliku607,375
Data (UTC)23-Aug-2010
Godzina (UTC)17:35
Nazwa plikuIa64_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_1436796b20d67a32.manifest
Wersja plikuNie dotyczy
Rozmiar pliku6 257
Data (UTC)23-Aug-2010
Godzina (UTC)17:33
Nazwa plikuIa64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b72568448d56e5f.manifest
Wersja plikuNie dotyczy
Rozmiar pliku24,611
Data (UTC)23-Aug-2010
Godzina (UTC)17:34
Nazwa plikuIa64_netfx-sos_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_fd04c12c14cb5647.manifest
Wersja plikuNie dotyczy
Rozmiar pliku4 124
Data (UTC)23-Aug-2010
Godzina (UTC)17:32
Nazwa plikuX86_mscorlib_b77a5c561934e089_6.0.6002.22472_none_b0cba9d4db4dd1f6.manifest
Wersja plikuNie dotyczy
Rozmiar pliku544,632
Data (UTC)23-Aug-2010
Godzina (UTC)18:02
Nazwa plikuX86_netfx-mscordacwks_b03f5f7f11d50a3a_6.0.6002.22472_none_14369ba920d6424e.manifest
Wersja plikuNie dotyczy
Rozmiar pliku6,241
Data (UTC)23-Aug-2010
Godzina (UTC)18:00
Nazwa plikuX86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_1b7278c248d5367b.manifest
Wersja plikuNie dotyczy
Rozmiar pliku25,247
Data (UTC)23-Aug-2010
Godzina (UTC)18:02
Nazwa plikuX86_netfx-sos_dll_b03f5f7f11d50a3a_6.0.6002.22472_none_fd04e36a14cb1e63.manifest
Wersja plikuNie dotyczy
Rozmiar pliku4,115
Data (UTC)23-Aug-2010
Godzina (UTC)17:59

Informacje o dodatkowych plikach dla systemu Windows 7 i Windows Server 2008 R2

Dodatkowe pliki dla wszystkich obsługiwanych wersji systemu Windows 7 z procesorami x86
Nazwa plikuX86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest
Wersja plikuNie dotyczy
Rozmiar pliku331,675
Data (UTC)26-Aug-2010
Godzina (UTC)19:13
Nazwa plikuX86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest
Wersja plikuNie dotyczy
Rozmiar pliku2 730
Data (UTC)26-Aug-2010
Godzina (UTC)19:10
Nazwa plikuX86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest
Wersja plikuNie dotyczy
Rozmiar pliku6,923
Data (UTC)26-Aug-2010
Godzina (UTC)19:12
Nazwa plikuX86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest
Wersja plikuNie dotyczy
Rozmiar pliku2,006
Data (UTC)26-Aug-2010
Godzina (UTC)19:09
Dodatkowe pliki dla wszystkich obsługiwanych wersji systemu Windows 7 i Windows Server 2008 R2 z procesorami x 64
Nazwa plikuAmd64_mscorlib_b77a5c561934e089_6.1.7600.20788_none_3dc2b17082d30918.manifest
Wersja plikuNie dotyczy
Rozmiar pliku368,857
Data (UTC)26-Aug-2010
Godzina (UTC)07:51
Nazwa plikuAmd64_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_a12da344c85b7970.manifest
Wersja plikuNie dotyczy
Rozmiar pliku2,738
Data (UTC)26-Aug-2010
Godzina (UTC)07:47
Nazwa plikuAmd64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_a869805df05a6d9d.manifest
Wersja plikuNie dotyczy
Rozmiar pliku6,927
Data (UTC)26-Aug-2010
Godzina (UTC)07:50
Nazwa plikuAmd64_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_89fbeb05bc505585.manifest
Wersja plikuNie dotyczy
Rozmiar pliku2 010
Data (UTC)26-Aug-2010
Godzina (UTC)07:45
Nazwa plikuX86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest
Wersja plikuNie dotyczy
Rozmiar pliku331,675
Data (UTC)26-Aug-2010
Godzina (UTC)06:57
Nazwa plikuX86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest
Wersja plikuNie dotyczy
Rozmiar pliku2 730
Data (UTC)26-Aug-2010
Godzina (UTC)06:53
Nazwa plikuX86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest
Wersja plikuNie dotyczy
Rozmiar pliku6,923
Data (UTC)26-Aug-2010
Godzina (UTC)06:56
Nazwa plikuX86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest
Wersja plikuNie dotyczy
Rozmiar pliku2,006
Data (UTC)26-Aug-2010
Godzina (UTC)06:52
Dodatkowe pliki dla wszystkich obsługiwanych wersji systemu Windows Server 2008 R2 z procesorami IA-64
Nazwa plikuIa64_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fc609974f6a02.manifest
Wersja plikuNie dotyczy
Rozmiar pliku368,856
Data (UTC)26-Aug-2010
Godzina (UTC)07:48
Nazwa plikuIa64_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dab7dddcd7da5a.manifest
Wersja plikuNie dotyczy
Rozmiar pliku2,737
Data (UTC)26-Aug-2010
Godzina (UTC)07:44
Nazwa plikuIa64_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f01694f704d6ce87.manifest
Wersja plikuNie dotyczy
Rozmiar pliku6,926
Data (UTC)26-Aug-2010
Godzina (UTC)07:47
Nazwa plikuIa64_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a8ff9ed0ccb66f.manifest
Wersja plikuNie dotyczy
Rozmiar pliku2009
Data (UTC)26-Aug-2010
Godzina (UTC)07:43
Nazwa plikuX86_mscorlib_b77a5c561934e089_6.1.7600.20788_none_856fe847974f321e.manifest
Wersja plikuNie dotyczy
Rozmiar pliku331,675
Data (UTC)26-Aug-2010
Godzina (UTC)06:57
Nazwa plikuX86_netfx-mscordacwks_b03f5f7f11d50a3a_6.1.7600.20788_none_e8dada1bdcd7a276.manifest
Wersja plikuNie dotyczy
Rozmiar pliku2 730
Data (UTC)26-Aug-2010
Godzina (UTC)06:53
Nazwa plikuX86_netfx-mscorwks_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_f016b73504d696a3.manifest
Wersja plikuNie dotyczy
Rozmiar pliku6,923
Data (UTC)26-Aug-2010
Godzina (UTC)06:56
Nazwa plikuX86_netfx-sos_dll_b03f5f7f11d50a3a_6.1.7600.20788_none_d1a921dcd0cc7e8b.manifest
Wersja plikuNie dotyczy
Rozmiar pliku2,006
Data (UTC)26-Aug-2010
Godzina (UTC)06:52