W tym artykule opisano pakiet zbiorczy poprawek dla pakietu 3146714, który jest dostępny dla wersji 4.6 i 4.6.1 firmy Microsoft dla .NET Framework 4.6 i 4.6.1. Aby uzyskać więcej informacji na temat problemów, które są naprawiane przez pakiet zbiorczy poprawki, zobacz sekcję "Problemy, dla których ta poprawka zbędna poprawka".
Rozwiązanie
Poprawka odpowiadająca aktualizacji KB3146714 została zasypowana najnowszymi aktualizacjami programu .NET Framework, które zawierają wszystkie poprawki, które zostały wcześniej uwzględnione w aktualizacji KB3146714. Zalecane jest zainstalowanie najnowszych aktualizacji pakietu .NET Framework.
Aby uzyskać więcej informacji na temat pobierania plików pomocy technicznej firmy Microsoft, kliknij następujący numer artykułu, aby wyświetlić ten artykuł w bazie 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.
Uwaga Aby sprawdzić wersję aktualizacji poprawki, sprawdź wartość słowa kluczowego Release w celu określenia zainstalowanej wersji. Aby być zgodnym z programem, możesz sprawdzić, czy wartość jest większa niż lub równa wartości wymienionej w poniższej tabeli.
Wersja pakietu zbiorcza poprawki |
Wartość wersji DWORD |
---|---|
Pakiet zbiorczy poprawki 3146711 dla wersji .NET Framework 4.6 i nowszych |
394294 |
Aby uzyskać więcej informacji na temat ustalania .NET Framework, zobacz Jak ustalić, które .NET Framework są zainstalowane.
Więcej informacji
Wymagania wstępne
Aby zastosować tę poprawkę, musisz mieć zainstalowany .NET Framework 4.6 lub 4.6.1.
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 z JIT
CLR
Struktury C# są przekazywane przez odwołanie, a nie przez wartość, gdy kod jest uruchamiany na komputerze, na którym jest zainstalowany program .NET Framework 4.6, a który korzysta z programu źródłowego RyuJIT. Jednym objawem tego błędu jest to, że kod reprezentuje dane w zbiorze w nieprawidłowej kolejności (szeregu czasowego). Ta zmiana zachowania w poprzednich wersjach tego .NET Framework powoduje różne symptomy, gdy klient pobiera dane szeregu czasowego z naszego historia danych.
Ten problem występuje z powodu brakującej flagi lvAddrExposed dla zmiennych tmp, które służą jako argumenty pass-by-ref, co z kolei uszkodzone jest fazę kopiowania prop.
Problem z clr
Problem w ładowaniu typu clr może spowodować kłódkę, gdy typy ogólne są przywracane z obrazów natywnych. Powoduje to niepowodzenie polecenia ngen createpdb. Ten problem został rozwiązany przez tę poprawkę.
Windows problemów z formularzami
Interfejs użytkownika Windows PrintPreviewDialog formularza jest zainicjowany bardzo powoli, gdy są spełnione następujące warunki:
-
Używana jest drukarka sieciowa.
-
Preferencje użytkownika tej drukarki, takie jak ustawienia drukowania dwustronnego, zostaną zmodyfikowane.
Do tego scenariusza dodano optymalizację wydajności. Jeśli ustawienia strony nie zostały zmodyfikowane dla określonej strony, ustawienia drukarki dla tej strony nie zostaną ponownie zmienione (przez uzyskanie dostępu do buforu drukarki). Jeśli aplikacja zmodyfikuje ustawienia drukarki za pomocą programu obsługi zdarzeń QueryPageSettings , wydajność generowania podglądu wydruku dla stron, których dotyczy problem, nie będzie poprawiana, nawet jeśli flaga wyboru jest ustawiona.
Aby można było wybrać tę optymalizację, do pliku app.config należy dodać następujący klucz, w zależności od wersji programu .NET Framework:
.NET Framework 4.5.2:
<?xml version="1.0" encoding="utf-8"?>
<konfiguracji>
< appSettings >
< klucz="OptimizePrintPreview" value="true" />
< /appSettings >
</configuration> .NET Framework 4.6 lub nowszą wersją:
<?xml version="1.0" encoding="utf-8"?>
<konfiguracji>
< środowiska uruchomieniowego>
< AppContextSwitchOverrides wartość = "Switch.System.Drawing.Printing.OptimizePrintPreview=true" />
< /runtime>
</configuration> Jeśli aplikacja może działać na jednej z tych wersji programu .NET Framework, użyj obu przełączników w tym samym pliku.
Aby zrezygnować z otrzymywania zgody, usuń przełącznik lub ustaw wartości na fałsz.
ClickOnce ten ClickOnce
został zaktualizowany w celu obsługi TLS 1.1 i 1.2.
ClickOnce automatycznie wykrywa, który protokół TLS jest wymagany w czasie wykonywania. W celu włączenia tej funkcji nie ClickOnce dodatkowych czynności.
Uwaga ClickOnce w przyszłości nadal obsługuje standard TLS 1.0, nawet jeśli nie jest już zgodny z standardem PCI.