В этой статье описаны средства hotfix, доступные для Microsoft платформа .NET Framework 4.6.1 и 4.6. Дополнительные сведения о проблемах, которые устраняет этот скат hotfix, см. в разделе Исправление этой ошибки.
Решение
Сведения о загрузке
На исправление, соответствующее KB3139549, были включены последние обновления платформа .NET Framework, которые содержат все исправления, ранее включенные в KB3139549. Рекомендуется установить последние обновления платформа .NET Framework.
Дополнительные сведения о загрузке файлов поддержки корпорации Майкрософт см. в следующей статье базы знаний Майкрософт:
119591 Как получить файлы службы поддержки Майкрософт из веб-служб, корпорация Майкрософт проверяла этот файл на вирусы. Корпорация Майкрософт использует самые последние на момент публикации файла версии антивирусного программного обеспечения. Файл хранится на защищенных серверах, что предотвращает его несанкционированное изменение.
Дополнительная информация
Предварительные условия
Чтобы применить этот префикс, необходимо установить платформа .NET Framework 4.6.1 или платформа .NET Framework 4.6.
Требование перезагрузки
После применения этого префикса необходимо перезагрузить компьютер, если используются какие-либо затронутые файлы. Прежде чем применять этот платформа .NET Framework, рекомендуется выйти из всех приложений, основанных на платформа .NET Framework.
Сведения о замене исправлений
Этот пакет hotfix не заменяет ранее выпущенный пакет hotfix.
Проблемы, исправленные при скате исправлений этой ошибки
Проблема 1
Если в приложении WPF используется элемент TreeViewItem вне контекста TreeView, это приложение может столкнуться с исключением InvalidCastException, трассировка стопки которого начинается следующим образом:
Системы. Windows. Controls.VirtualizingStackPanel.FindScrollOffset(Visual v)
Примечание. Это исключение возникает, если элемент TreeViewItem находится в элементе управления виртуализованного списка (например, ListBox, DataGrid или ListView), который пытается найти смещение прокрутки элемента TreeViewItem или одного из его потомков. Например, если вы объявляете treeViewItem корнем dataTemplate, а DataTemplate используется как CellTemplate столбца DataGrid, возникает это исключение.
Проблема 2
Как System.Web.Caching, так и System.Runtime.Caching сообщают размер памяти, используемой всем приложением AppDomain, а не размер памяти, используемой элементами кэша.
Это проблема регрессии для платформа .NET Framework 4.5, в которую было внося изменение в реализации Timer. Дополнительные объекты, на которые ссылается кэш, могут не только сообщить о неправильном размере, но и существенно повлиять на задержку в GC-объекте Gen2. В ASP.NET сценарии размещения кэш также неправильно вычислит размер всех кэшей во всех доменах приложений (о них сообщает кэш %, используемый в счетчике производительности ASP.NET обработки), когда домены приложений находятся в корзине. Это исправление удаляет из кэша ссылки на остальные объекты домена приложения, а затем сообщает о правильном размере. Она также включает изменения, чтобы повысить задержку для System.Runtime.Caching на многоядерных компьютерах, на которые используется сервер GC. Наконец, это исправление вычисляет размер всех кэшей в сценариях корзины домена приложений.Проблема 3
Если у вас есть приложение Windows Presentation Foundation (WPF), которое использует рекламную кампанию с помощью мыши для обработки сенсорного перемещения пользователей (а не непосредственно с сенсорными событиями), может возникнуть необычно низкий объем перемещаемой мыши.
Раньше в WPF перемещалась рекламная акция с регулированием мыши при касаниях, так как громкость касания переполняет диспетчера. В платформа .NET Framework 4.6.1 было исправлено это поведение. Исправление регулирование количества обработанных сенсорных экранов. Таким образом, регулирование рекламных акций мыши привело к дальнейшему уменьшению числа перемещаемых мыши. В этом обновлении регулирование рекламных акций мыши было удалено, и теперь между событиями перемещения сенсорного перемещения и продвигаемой мышью должно быть близко к переписке от 1 до 1.Проблема 4
Предположим, что вы работаете с приложением WPF, которое будет платформа .NET Framework 4.6. Предположим, например, что вы пытаетесь настроить CurrentThread.CurrentCulture или CurrentThread.CurrentUICulture любым способом (например, обработчиком событий пользовательского интерфейса или конструктором MainWindow), который вызывается диспетчером WPF с помощью диспетчера диспетчера. В этом случае значения CurrentCulture и CurrentUICulture сбрасываются на более ранние значения в конце метода. Если приложение задает CurrentUICulture в конструкторе MainWindow или обработчике нажатий кнопки, этот параметр возвращается к культуре пользовательского интерфейса системы.
Это исправление позволяет сохранить значения CurrentThread.CurrentCulture/CurrentUICulture, задав методы в приложении WPF, как и до платформа .NET Framework 4.6.Проблема 5
В платформа .NET Framework 4.6 в библиотеку задач был добавлен новый флаг TaskContinuationOptions.RunContinuationsAsynchronously. Однако при использовании этого флажка в сочетании с task.WhenAll, Task.WhenAny или Task.Unwстановка это не влияет. Флажок был введен, чтобы избежать определенных условий блокировки. Это исправление позволяет всем типам продолжения задачи соблюдать новый флажок.
Проблема 6
AppContext является частью инфраструктуры, чтобы сократить количество изменений. С помощью AppContext можно устанавливать и извлекать флаги и принимать решения в приложении на основе этих данных. В платформа .NET Framework 4.6 есть ошибка в приложении AppContext, из-за которой неправильно реализована безопасность методов AppContext.
Это исправление обеспечивает правильную безопасность потока для методов в AppContext, связанных с настройкой и ипроигрывателем значений переключения.Проблема 7
Если при выделении ресурсов и шаблоне вы хотите создать новый сегмент на управляемой койке, сборщик корзины может вычислить размер, меньший, чем должен быть. Это приводит к нарушению доступа на этапе сжатия, так как сборщик корзины пытается записать записи в незафиксировали память. Это исправление вычисляет размер правильно.
Проблема 8
При создании кода для определенных методов приложения платформа .NET Framework и процессы NGEN могут аварийно сработать.
Проблема 9
RjiJit создает неправильные инструкции для сравнения 16-битных неподписаных integers в регистраторах. Это приводит к неверным результатам, если входные значения имеют разные значения MSB и поэтому создают инструкции сравнения, которые используют только регистр операндов. Это исправление создает правильные инструкции.