В тази статия е описан 3146714 корекция, който е наличен за Microsoft .NET Framework (платформа) 4.6 и 4.6.1. За повече информация относно проблемите, които коригира сборен пакет за актуализация, вижте раздела "Проблеми, които този пакет с актуални корекции" коригира.
Решение
Актуалната корекция, която отговаря на KB3146714, е заменена с най-новите актуализации на .NET Framework (платформа), които съдържат всички корекции, които преди това са били включени в KB3146714. Препоръчително е да инсталирате най-новите актуализации на .NET Framework (платформа).
За повече информация как да изтеглите файлове за поддръжка на Microsoft щракнете върху следния номер на статия в базата знания на Microsoft:
119591 Как да получите файлове за поддръжка на Microsoft от онлайн услуги, които Microsoft сканира този файл за вируси. Microsoft използва най-актуалния софтуер за откриване на вируси, който е бил наличен на датата на публикуване на файла. Файлът се съхранява на защитени сървъри, които помагат за предотвратяването на неупълномощени промени във файла.
Забележка За да проверите версията на актуализацията на актуалната корекция, проверете стойността на ключовата дума Издание, за да определите инсталираната версия. За да сте съвместими с препращане, можете да проверите за стойност, която е по-голяма или равна на стойността, която е посочена в таблицата по-долу.
Версия сборен пакет за актуализация |
Стойност на ИЗДАНИЕТО DWORD |
---|---|
Сборен пакет за 3146711 корекция за .NET Framework (платформа) 4.6 и по-нови версии |
394294 |
За повече информация как да определите .NET Framework (платформа) версии вижте Как да: Определете кои .NET Framework (платформа) версии са инсталирани.
Повече информация
Предварителни изисквания
За да приложите тази актуална корекция, трябва да имате инсталиран .NET Framework (платформа) 4.6 или 4.6.1.
Изискване за рестартиране
Трябва да рестартирате компютъра, след като приложите тази актуална корекция, ако се използват всички засегнати файлове. Препоръчваме да затворите всички .NET Framework (платформа) приложения, преди да приложите тази актуална корекция.
Информация за заместване на актуалната корекция
Този пакет с актуални корекции не замества вече издаден пакет с актуални корекции.
Проблеми, които коригира този пакет с актуални корекции
ПРОБЛЕМ С CLR JIT
Структурите C# се предават по препратка, а не по стойност, когато кодът се изпълнява на компютър, на който е инсталиран .NET Framework (платформа) 4.6 и който използва компилатора RyuJIT. Един симптом на тази грешка е, че кодът представя данните в колекция в неправилен ред (времеви серии). Тази промяна в поведението от по-старите версии на .NET Framework (платформа) води до различни симптоми, когато клиентите извличат данни от времеви серии от нашия историк на данни.
Този проблем възниква поради липсващ флаг lvAddrExposed за променливи на tmp, които служат като аргументи "преминаване по рефер", което от своя страна поврежда фазата на копието.
CLR проблем
Проблем в програмата за зареждане на тип CLR може да доведе до блокиране, докато общите типове се възстановяват от основните изображения. Това води до неуспешно създаване на командата ngen. Този проблем е решен от тази актуална корекция.
Windows формуляри
Потребителският Windows за формуляри PrintPreviewDialog се инициализира много бавно, когато са изпълнени следните условия:
-
Използва се мрежов принтер.
-
Предпочитанията на потребителите за този принтер, като например настройките за двустранен печат, се променят.
Добавихме оптимизация на производителността към този сценарий. Ако настройките на страницата не са променени за определена страница, настройките на принтера за тази страница не се прилагат отново (чрез достъп до спулера за принтер). Ако приложението променя настройките на принтера с помощта на манипулатора за събития QueryPageSettings , производителността на генериране на визуализация на печата за засегнатите страници не се подобрява дори ако е зададен флагът за включване.
За да се включите в тази оптимизация, към файла на app.config трябва да се добави следният ключ в зависимост от версията на .NET Framework (платформа):
.NET Framework (платформа) 4.5.2:
<?xml версия="1,0" кодиране="utf-8"? >
<конфигурация>
< Настройки на >
<="OptimizePrintPreview" value="true" />
< /appSettings >
</configuration> .NET Framework (платформа) 4.6 или по-нова версия:
<?xml версия="1,0" кодиране="utf-8"? >
<конфигурация>
< изпълнение>
< AppContextSwitchOverrides стойност = "Switch.system.Drawing.Printing.OptimizePrintPreview=true" />
< /runtime>
</configuration> Ако приложение може да се изпълнява на всяка версия на .NET Framework (платформа), използвайте и двата ключа в един и същ файл.
За да се откажете, премахнете превключвателя или задайте стойностите на "неистина".
Функция ClickOnce проблем
Функция ClickOnce актуализиран, за да се поддържат TLS 1.1 и 1.2.
Функция ClickOnce автоматично открива кой TLS протокол е необходим по време на изпълнение. Няма допълнителни стъпки, необходими в Функция ClickOnce за разрешаване на тази функционалност.
Забележка Функция ClickOnce продължава да поддържа TLS 1.0 за обозримо бъдеще, въпреки че вече не се счита за съвместим с PCI.