Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

W tym artykule opisano pakiet zbiorczy poprawki, który jest dostępny dla wersji 4.6.1 i 4.6 firmy Microsoft dla systemu Microsoft w wersji .NET Framework 4.6.1 i 4.6. Aby uzyskać więcej informacji na temat problemów, które są poprawki tego rzutu poprawek, zobacz sekcję Problemy, które są poprawki tego rozwiązania.

Rozwiązanie

Informacje dotyczące pobierania

Poprawka odpowiadająca poprawce KB3139549 została swoimi najnowszymi aktualizacjami .NET Framework, które zawierały wszystkie poprawki, które były wcześniej zawarte w aktualizacji KB3139549. Zalecane jest zainstalowanie najnowszych aktualizacji pakietu .NET Framework.

Aby uzyskać więcej informacji dotyczących sposobów pobierania plików pomocy technicznej firmy Microsoft, należy kliknąć następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

119591 Jak uzyskać pliki pomocy technicznej firmy Microsoft z usług online Firma Microsoft przeskanowała ten plik pod kątem wirusów. Firma Microsoft używa najnowszego oprogramowania do wykrywania wirusów, które było dostępne w dniu publikacji pliku. Plik jest przechowywany na serwerach z zabezpieczeniami, które pomagają zapobiec nieautoryzowanym zmianom w pliku.

Więcej informacji

Wymagania wstępne

Aby zastosować tę poprawkę, musisz mieć zainstalowany .NET Framework 4.6.1 lub .NET Framework 4.6.


 

Wymaga ponownego uruchomienia

Jeśli są używane pliki, których dotyczy problem, po zastosowaniu tej poprawki musisz ponownie uruchomić komputer. Zalecamy zamknięcie wszystkich aplikacji opartych .NET Framework przed zastosowaniem tej poprawki.
 

Informacje na temat zamiany poprawki

Ten pakiet poprawki nie zastępuje poprzednio wydanego pakietu poprawki.

Problemy, dla których są naprawiane te poprawki w związku z poprawkami

Problem 1

Jeśli aplikacja WPF korzysta z elementu TreeViewItem poza kontekstem TreeView, aplikacja może napotkać wyjątek InvalidCastException, którego śledzenie stosu rozpoczyna się w następujący sposób:
 

System. Windows. Controls.VirtualizingStackPanel.FindScrollOffset(Visual v)


Uwaga Ten wyjątek występuje, gdy element TreeViewItem znajduje się w zwirtualizowanej kontrolce listy (na przykład kontrolce ListBox, DataGrid lub ListView), która próbuje znaleźć przesunięcie przewijania elementu TreeViewItem lub jednego z jego elementów. Na przykład jeśli zadeklaruje się element TreeViewItem jako katalog główny danych DataTemplate, a dataTemplate jest używany jako komórka CellTemplate kolumny DataGrid, ten wyjątek występuje.
 

Problem 2

Both System.Web. Buforowanie i System.Runtime. Buforowanie raport o rozmiarze pamięci używanej przez całą domenę AppDomain zamiast rozmiaru pamięci używanej przez elementy pamięci podręcznej.

Jest to problem regresji niż .NET Framework 4.5, w którym w w wprowadzenie zmiany w implementacji czasomierza. Oprócz zgłaszania nieprawidłowego rozmiaru dodatkowe obiekty, do których odwołuje się pamięć podręczna, mogą znacząco wpłynąć na opóźnienie najw.WDZ.2. W ASP.NET scenariuszach hostingu pamięć podręczna także nieprawidłowo oblicza rozmiar wszystkich pamięci podręcznej we wszystkich domenach aplikacji (zgłoszonych za pośrednictwem limitu pamięci używanej w pamięci podręcznej % pamięci używanej w liczniku wydajności ASP.NET), gdy domeny aplikacji zostaną odzyskane.

Poprawka usuwa niezamierzone odwołania z pamięci podręcznej do pozostałych obiektów domeny aplikacji, a następnie raportowany jest prawidłowy rozmiar. Zawiera on również zmiany w celu zwiększenia opóźnień dla środowiska System.Runtime. Buforowanie na komputerach z wieloma rdzeniami, które są używające funkcji NAJW.WSP.SERWERA. Na koniec ta poprawka poprawnie oblicza rozmiar wszystkich pamięci podręcznych w scenariuszach ponownego użycia domeny aplikacji.
 

Problem 3

Jeśli masz aplikację Windows Presentation Foundation (WPF), która korzysta ze promocji do ruchu myszy w celu obsługi interakcji za pomocą przenoszenia dotykowego (zamiast bezpośrednio za pomocą zdarzeń dotykowych), może wystąpić niezwykle niska ilość promowanych ruchów myszy. 

W przeszłości obsługa dotykowa platformy WPF ograniczała ruchy dotykowe, ponieważ dotyk jest przytłoczony dyspozytorem. W p .NET Framework 4.6.1 wnoszono poprawkę z tym zachowaniem. Ta poprawka ogranicza liczbę przetwarzanych gestów dotykowych. Dlatego ograniczanie promocji myszy powodowało dalsze zmniejszenie liczby generowanych ruchów myszy. W tym zbędnych aktualizacjach usunięto ograniczanie promocji myszy, dlatego korespondencja między zdarzeniami przenoszenia dotykowego i promowanych zdarzeniami przenoszenia myszy powinna być zbliżona do 1 do 1. 
 

Problem 4

Załóżmy, że pracujesz z aplikacją WPF, która .NET Framework 4.6. Załóżmy na przykład, że próbujesz ustawić wartość CurrentThread.CurrentCulture lub CurrentThread.CurrentUICulture w dowolnej metodzie (na przykład za pomocą programu obsługi zdarzeń interfejsu użytkownika lub konstruktora MainWindow), który jest wywoływany przez dyspozytorA WPF przy użyciu dyspozytora. W takiej sytuacji wartości CurrentCulture i CurrentUICulture są resetowane do odpowiednich wcześniejszych wartości na końcu metody. Jeśli aplikacja ustawia element CurrentUICulture w konstruktorze MainWindow lub programie obsługi kliknięcia przycisku, to ustawienie zostanie przywrócone do kultury interfejsu użytkownika systemu.

Ta poprawka zapewnia, że wartości CurrentThread.CurrentCulture/CurrentUICulture, które można ustawić w metodach w aplikacji WPF, są zachowywane tak samo jak przed .NET Framework 4.6.


 

Problem 5

W .NET Framework 4.6 do biblioteki zadań została dodana nowa flaga TaskContinuationOptions.RunContinuationsAsynchronicznie. Jednak użycie tej flagi w połączeniu z Task.WhenAll, Task.WhenAny lub Task.Unwrap nie ma żadnego efektu. Flaga została wprowadzona, aby uniknąć pewnych warunków kłódki. Ta poprawka zapewnia, że wszystkie typy kontynuacji zadania będą przestrzegać nowej flagi.

Problem 6

AppContext jest częścią infrastruktury służącej do zmniejszenia podziału zmian. Za pomocą tekstu AppContext można ustawiać i pobierać flagi oraz podejmować decyzje dotyczące aplikacji, która jest oparta na tych danych. W .NET Framework 4.6 jest błąd w tekście AppContext, w którym bezpieczeństwo metod AppContext jest implementowane niepoprawnie. 

Ta poprawka umożliwia włączenie poprawnego bezpieczeństwa w wątkach metod w uwierzytelniania AppContext, które są związane z ustawianiem i pobieraniem wartości przełącznika.

Problem 7

W przypadku rozwiązania typu "krawędzi" dzięki wzorcowi przydzielenia i rozwiązania po awarii i potrzebie nowego segmentu na zarządzanej śmietce kosz może się okazać, że rozmiar zatwierdzenia jest mniejszy niż ten, który powinien być. Powoduje to naruszenie dostępu w fazie kompaktowania, ponieważ kosz na śmieci próbuje zapisać w niezatwierdzoną pamięć. Ta poprawka poprawnie oblicza rozmiar.

Problem 8

Podczas tworzenia kodu natywnego dla niektórych metod aplikacje .NET Framework i procesy NGEN mogą ulec awarii.

Problem 9

RyuJit generuje niepoprawne instrukcje dotyczące porównywania 16-bitowych niepodpisanych liczb całkowitych w rejestrach. Daje ono niepoprawne wyniki, jeśli wartości wejściowe mają różne wartości MSB, i dlatego generują instrukcje porównania, które używają tylko rejestru argumentów operandy. Ta poprawka generuje prawidłowe instrukcje.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×