Обновление для .NET Framework 4: март 2011 г.


В этой статье обсуждается выпуск обновления GDR (выпуск для общего распространения) для Microsoft .NET Framework 4. Это обновление включает в себя все предыдущие пакеты обновлений, описанные в базе знаний Майкрософт, перечень которых можно найти в разделе «Сведения о замене обновлений».

Это обновление также устраняет некоторые другие проблемы, не описанные в вышедших ранее статьях базы знаний Майкрософт. Подробнее об этих проблемах можно узнать в разделе «Дополнительная информация».

Как получить это обновление


Скачайте следующий файл с Центра загрузки Майкрософт:

Скачать Скачать пакет обновлений для Microsoft .NET Framework 4.

Появление ошибки с кодом 0x643 во время установки данного обновления


Для устранения ошибки, возникающей во время установки обновления .NET Framework см. другие способы, приведенные в следующей статье базы знаний:

976982 Ошибка установки обновления платформы .NET Framework: "0x80070643" или "0x643"

Проблемы, решаемые этим обновлением


Этот накопительный пакет обновления устраняет приведенные ниже проблемы.

Проблема 1

Рассмотрим следующий сценарий.
  • Вы создаете приложение надстройки на основе Visual Studio 2010. Приложение перечисляет несколько проектов с помощью фонового потока.
  • Вы запускаете экземпляр Microsoft Visual Studio 2010 и приложение надстройки.
  • Выполняется сборка мусора.
В этом случае в работе экземпляра Visual Studio 2010 возможен сбой.
 

Проблема 2


Рассмотрим следующий сценарий.
  • Вы работаете над созданием приложения надстройки на основе .NET Framework 4 для Microsoft Office Excel.
  • Вы запускаете приложение надстройки, а затем происходит событие Application.WorkbookBeforeSave.
В этом случае для параметра SaveAsUI в этом событии всегда задано значение TRUE.
 

Проблема 3

Если при переходе компьютера в спящий режим активно окно приложения на основе Visual Studio 2010, при выходе из режима сна происходит утечка памяти.
 

Проблема 4

При попытке приложения WPF на основе .NET Framework 4 загрузить текст из TTF-файла загружаемое содержимое отображается неправильно. Кроме этого, происходит нарушение прав доступа, и приложение аварийно завершает работу.

Примечание. Обновленное значение будет сходно со следующим:
06bdeafc 71086dd5 dwrite!TrueTypeRasterizer::Implementation::ReleaseSfntFragment()+0x1f
06bdeb5c 7108d327 dwrite!sfac_GetSbitBitmap()+0x428
06bdec10 7108d4d8 dwrite!GetSbitComponent()+0xb5
 

Проблема 5

При использовании сенсорной технологии для работы с приложением WPF на основе .NET Framework 4 (на устройстве с мультисенсорным экраном) приложение аварийно завершает работу или происходит сбой в процессе *.vshost.exe. Например, сбой происходит при попытке прокрутить вверх или вниз.
 

Проблема 6

При попытке выбрать несколько элементов в окне изменений, ожидающих подтверждения, в Visual Studio 2010, интегрированная среда разработки Visual Studio исчезает, и сообщение об ошибке программы «Доктор Ватсон» более не создается.
 

Проблема 7

Рассмотрим следующий сценарий.
  • Вы запускаете Visual Studio 2010 на компьютере под управлением 64-разрядной операционной системы
  • и хотите отладить приложение.
  • Для этого вы включаете средства по отладке управляемого кода (MDA)
  • и пытаетесь закрыть приложение в интегрированной среде разработки.
В этом случае средство по отладке управляемого кода raceOnRCWCleanup не будет работать надлежащим образом.
 

Проблема 8

Прокрутка в приложении WPF на основе .NET Framework 4 во время форматирования текста в наборе вкладок замедляет работу приложения.
 

Проблема 9

При попытке разместить веб-страницу, для которой в качестве свойства targetFramework на основных серверных компонентах выбрана платформа .NET Framework, появляется следующее сообщение об ошибке:
Описание. Ошибка при обработке файла конфигурации, требуемого для обслуживания этого запроса. Изучите указанные ниже подробные сведения об этой ошибке и измените файл конфигурации.

Сообщение об ошибке средства синтаксического анализа: Атрибут "targetFramework" в элементе <compilation> файла Web.config используется только с целевой версией платформы .NET Framework 4.0 или более поздней (например, <compilation targetFramework="4.0">). В настоящее время атрибут "targetFramework" ссылается на более позднюю версию, чем установленная версия .NET Framework. Укажите допустимую целевую версию системы .NET Framework или установите ее необходимую версию.

Источник ошибки:
Строка 2: <configuration>
Строка 3: <system.web>
Строка 4: <compilation debug="false" targetFramework=".NETFramework, version=v4.0" />
Строка 5: </system.web>Строка 6: </configuration>
 

Проблема 10

Проблема

Рассмотрим следующий сценарий.
  • Вы создаете приложение Visual Studio 2010, которое содержит базу с набором данных.
  • Вы удаляете несколько таблиц из конструктора наборов данных
  • и проверяете последовательность оставшихся.
В этом случае сортировка таблиц не будет выполняться надлежащим образом.

Причина

Эта проблема возникает из-за ошибки в классе TableAdapterManager в Visual Studio 2010.
 

Проблема 11

Когда клиент обращается к веб-службе RESTful в процессе работы с ASMX- и SVC-файлами, используя при этом конвейер ASP.NET и обработку URL-адресов без расширений, состояние запроса может меняться неправильным образом.
 

Проблема 12

Для методов Application_Start и PreAppStart в .NET Framework 4 нет доступа к методу HttpUtility.HtmlEncode и связанным с ним API.
 

Проблема 13

Не удается запустить приложение Microsoft Visual C# или Microsoft Visual Basic, если модель EDM ссылается на проект базы данных. Кроме того, не работают функции отладки приложения.
 

Проблема 14

При использовании поставщика SQL возникает следующая ошибка:
  • В потоке сборки мусора создано исключение.
  • Возникает ошибка программы «Доктор Ватсон», и появляется сообщение об ошибке, которое выглядит следующим образом:
    Приложение: webdev.webserver20.exe
    Вызывающий проблему символ:
    SYSTEM.DATA.NI.DLL!System.Data.ProviderBase.DbConnectionInternal.PrePush
    Код исключения: system.invalidoperationexception
    Подтип события: Clr20r3
  • Процесс w3wp.exe аварийно завершается.

    Примечание. Процесс w3wp.exe является процессом размещения веб-страниц.
 

Проблема 15

Проблема

Класс SqlDataSource не поддерживает параметр, который используется для доступа к данным в базе данных выпуска Microsoft SQL Server Compact Edition.

Причина

Эта проблема возникает, так как выпуск Microsoft SQL Server Compact Edition не поддерживает параметр в классе SqlDataSource.
 

Проблема 16

Проблема

При попытке открыть веб-страницу ASP.NET появляется следующее сообщение об ошибке:
В качестве HttpContext.User необходимо выбрать MyWindowsPrincipal.
 
Причина

Эта проблема возникает, так как обработчик URL-адресов без расширений возвращает дочерним запросам основной интерфейс IHttpUser. Поэтому для дочерних запросов опускается процесс проверки подлинности.
 

Проблема 17

Рассмотрим следующий сценарий.
  • У вас есть проект на основе Visual Studio 2010, содержащий модель EDM. Модель EDM ссылается на базу данных среднего или большого размера. Например, база данных насчитывает 500 таблиц.
  • К этим таблицам необходимо применить обратное проектирование.
В этом случае реконструирование таблиц потребует больше времени. Например, для реконструкции 500 таблиц понадобится 14 минут.
 

Проблема 18

Рассмотрим следующий сценарий.
  • Вы устанавливаете бета-версию Visual Studio 2010 с пакетом обновления 1 (SP1) на компьютере, на котором запущены службы IIS 6.0.
  • Вы переводите службы IIS 5.0 в режим изоляции
  • и размещаете веб-страницу в службах IIS 6.0.
В этом случае при попытке открытия этой веб-страницы появляется следующее сообщение об ошибке:
503 — Служба недоступна.
 

Проблема 19

После установки исправления для .NET Framework 4 все службы, размещенные в службах активации Windows (или WAS), могут быть отключены. Более того, их не удается запустить заново, не перезапустив для этого компьютер. Примером такой службы является служба Windows Communication Foundation (WCF).

Ниже приведены уязвимые службы активации:
  • Не-HTTP активация
    • Активация через очередь сообщений
    • Активация через именованные каналы
    • Активация по TCP
  • Общий доступ к TCP-портам
 

Проблема 20

Рассмотрим следующий сценарий.
  • У вас есть веб-сайт ASP.NET, который содержит службу WCF и использует более раннюю версию .NET Framework 4.
  • Не ставьте флажок Разрешить этому предварительно скомпилированному сайту быть обновляемым в мастере публикации веб-сайтов в Visual Studio 2010
  • и опубликуйте веб-сайт.
  • При этом клиент попытается получить доступ к службе WCF.
В этом случае служба WCF не будет отвечать на запрос клиента, а скомпилированный SVC-файл будет неправильно ссылаться на .NET Framework 4.

Примечание. Скомпилированный SVC-файл создается в процессе публикации.
 

Проблема 21

Рассмотрим следующий сценарий.
  • Вы создаете привязку команды Windows.AutoHide к сочетанию клавиш.
  • В фокусе находится окно включенного инструмента Visual Studio 2010. Например, фокус установлен на окне обозревателя решений.
  • Затем вы нажимаете сочетание клавиш.
В этом случае окно исчезает, однако не отображается снова при повторном нажатии клавиш.

Проблема 22

При использовании Visual Studio 2010 для отладки приложения в окне вывода появляется множество сообщений с подробными сведениями вроде указанных ниже:
*** Отправлено HR: -2147024774

*** Файл-источник: d:\iso_whid\x86fre\base\isolation\com\copyout.cpp, строка 1302 

*** Распространено HR: -2147024774

*** Файл-источник: d:\iso_whid\x86fre\base\isolation\com\enumidentityattribute.cpp, строка 144

Проблема 23

Предположим, вы занимаетесь построением приложения на одном компьютере, а затем публикуете его на другом. При использовании Visual Studio 2010 для вложения приложения не удается отобразить управляемые методы из-за отсутствия символов для сборки.

Эта проблема возникает, так как PDB-файл, который содержит информацию о символах, не скопирован из папки корзины в папку для хранения теневых копий.

Проблема 24

Вы используете свое пространство имен в проекте Visual Basic. При добавлении в проект явной ссылки на компонент Microsoft.VisualBasic.dll пространство имен не будет работать надлежащим образом. Кроме того, может появиться следующее сообщение об ошибке:
"Приложение" не входит в это пространство имен "My".

Проблема 25

При установке исправления для ASP.NET 4.0 выполняется команда aspnet_regiis –iru, после чего удаляются некоторые ключи реестра ASP.NET.
 

Проблема 26

При запросе XAP-файла в Visual Studio 2010 через Cassini для возвращаемого запроса устанавливается тип MIME "application/octet-stream" вместо необходимого "application/x-silverlight-app".
 

Проблема 27

В интегрированной среде разработки Visual Studio 2010 вы вкладываете отладчик в процесс sqlservr.exe. Вы задаете точку останова для управляемой функции SQL или управляемой хранимой процедуры. Файл символов правильно загружается, после чего появляется красная точка. Однако Visual Studio не прекращает работу в заданной точке останова.
 

Проблема 28


Вы запускаете приложение Visual Basic, которое содержит основную сборку Visual Basic в операционной системе, в которой отсутствует среда выполнения Visual Basic. Если приложение содержит выписку SyncLock или переменную типа объекта, может появиться следующее сообщение об ошибке:
ошибка BC35000: Запрошенная операция недоступна, так как не определена функция библиотеки времени выполнения "Microsoft.VisualBasic.CompilerServices.ObjectFlowControl.CheckForSyncLockOnValueType".

Проблема 29

При запуске приложения Visual Basic, которое содержит ядро Visual Basic, код, который использует константы в классе Microsoft.VisualBasic.Constants, не выполняется надлежащим образом. Например, при выполнении кода может появиться следующее сообщение об ошибке:
ошибка BC30059: Требуется константное выражение
Проблема возникает, так как константы внедрены в качестве обычных полей, а не полей константы.
 

Проблема 30

Вы развертываете веб-сайт ASP.NET на основе .NET Framework 4 в устаревшем режиме управления доступом для кода. При этом для веб-сайта настраивается частичное доверие. При попытке открыть этот сайт появляется следующее сообщение об ошибке:
[SecurityException: Сбой запроса на разрешение типа "System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=<Token ID>".]

Проблема 31

Вы устанавливаете обновление для системы безопасности, описанное в статье KB974417, когда каталоги в папке глобального кэша сборок, в том числе сборка System.EnterpriseServices.dll, заблокированы, или эта сборка уже используется. В этом случае не удается установить обновление для системы безопасности и возникает повреждение системы.

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

2260913 ИСПРАВЛЕНИЕ: При обновлении .NET Framework может произойти сбой, а некоторые файлы в глобальном кэше сборок могут быть удалены
 

Проблема 32

Некоторые неограниченные подтверждения от типов ASP.NET могут стать причиной риска: пользователь с частичным доверием получит повышенные привилегии пользователей с полным доверием.

Проблема 33

Обновления для упрощенной парадигмы веб-приложений под названием Plan 9 MVC выходят чаще, чем обновления ASP.NET. Однако, начиная с версии 2, его версии не обладают статусом полного доверия. Таким образом, многие функции, требующие полного доверия, не работают надлежащим образом.

Это обновление устанавливает полное доверие для версий Plan 9, вышедших позднее версии 2.

Проблема 34


Константа в типе перечисления на уровне устройства в исходном коде отличается от указанной в спецификации.

Это обновление отвечает за последовательное использование константы.

Проблема 35

При установке обновления, описанного в следующей статье базы знаний Майкрософт, служба WCF принудительно закрывается удаленным узлом. Эта проблема возникает, если для файла Web.config службы WCF установлен высокий или средний уровень доверия.
2449742 MS11-NNN: описание обновления для системы безопасности Microsoft .NET Framework 2.0 с пакетом обновления 2 (SP2) и Microsoft .NET Framework 3.5 с пакетом обновления 1 (SP1) в Windows Vista с пакетом обновления 2 (SP2) и Windows Server 2008 с пакетом обновления 2 (SP2), 8 февраля 2011 г.

Функциональные возможности, входящие в данный накопительный пакет обновлений

В данном накопительном пакете обновлений представлены следующие функциональные возможности, относящиеся к платформе .NET Framework 4.

Функция 1

Этот накопительный пакет обновления позволяет ASP.NET поддерживать несколько систем конфигурации служб IIS в режиме конструктора. Поэтому конструктор веб-приложений Visual Studio поддерживает IIS Express. Кроме того, конструктор веб-приложений Visual Studio позволяет использовать в разных проектах Visual Studio Solution различные версии служб IIS.

Функция 2

При проверке сборки теневого кэширования, преобразованной в символьную ссылку на тот же файл, не выполняется проверка размера сборки. Поэтому ASP.NET использует оптимизацию для размещения общедоступных веб-узлов.

Функция 3

Новый синтаксис позволяет определять элемент управления TextBox, совместимый с HTML5. Например, элемент управления TextBox, совместимый с HTML5, определяется следующим кодом:
<asp:TextBox runat="server" type="some-HTML5-type" />

Функция 4

В компиляторе Visual Basic появился новый переключатель, который позволяет библиотекам удалять зависимость от среды выполнения Visual Basic. В более ранних версиях .NET Framework для всех приложений Visual Basic зависимость от среды выполнения добавляется автоматически. Зависимость была обусловлена файлом библиотеки среды выполнения Visual Basic, Microsoft.VisualBasic.dll. Данное обновление позволяет устранить эту зависимость с помощью нового параметра командной строки. Некоторые возможности среды выполнения Visual Basic встроены в приложение, в то время как другие функции после переключения станут недоступными.

Функция 5

Изменения в переносимых библиотеках поддержки. Эти изменения содержат обновления для API и изменения привязок. Это обновление позволяет среде CLR успешно совершать привязку к переносимым библиотекам, чтобы отдельный файл библиотеки DLL мог выполняться на .NET Framework 4, Silverlight, Xbox или Windows Phone. Это обновление добавляет общедоступные API Silverlight API в то же расположение в .NET Framework 4. Платформа будет использовать одинаковые подписи API. Все изменения гарантировано совместимы и не препятствуют выполнению существующего кода.

Дополнительная информация


Необходимые условия для обновления

В следующем списке перечислены необходимые условия для установки обновления.
  • Это обновление предназначено для компьютера с установленными .NET Framework 4 или клиентским профилем .NET Framework 4.
  • Для установки этого обновления необходимо наличие на компьютере установщика Windows 3.1 или более поздней версии. Чтобы получить последнюю версию установщика Windows, посетите веб-сайт корпорации Майкрософт:

Параметры командной строки для этого обновления

Сведения о различных параметрах командной строки, поддерживаемых этим обновлением, см. в следующем документе с параметрами командной строки установщика Windows:
 
227091 Параметры командной строки для средства Microsoft Windows Installer Tool

Дополнительные сведения об установщике Windows см. на следующем веб-сайте MSDN:
 

Требование к перезапуску

Перезагружать систему после установки этого обновления требуется только в том случае, если обновляемые файлы заблокированы или используются. Однако установка этого обновления вызывает перезапуск всех служб, связанных со службами IIS.

Сведения о замене обновлений

Это обновление заменяет указанные ниже исправления.
2183292 ИСПРАВЛЕНИЕ: При отправке почты с помощью приложения на основе .NET Framework 4, которое использует класс System.Net.Mail.SmtpClient, появляется сообщение об ошибке «Сбой при отправке сообщения электронной почты», если размер вложения превышает 3 МБ.

2413613 При запуске приложения Windows Presentation Foundation на основе .NET Framework 4 контекстное меню может не отображаться рядом с указателем мыши

2298853 ИСПРАВЛЕНИЕ: Ошибка Visual Studio 2010: «Ошибка 1 (MSB4014): построение остановлено из-за непредвиденной внутренней ошибки».

2461678 Приложение WPF на основе .NET Framework 4 аварийно завершает работу, если исходный объект привязки данных в элементе управления находится за пределами области имени этого элемента управления
 

Сведения для обнаружения обновления
 

Пакет обновления версии 2, описанный в этой статье базы знаний Майкрософт, использует те же ключи обнаружения, что и пакет версии 1. Это известная проблема, связанная с этим обновлением. Если приложение зависит от версии 2 этого обновления, просмотрите следующие подразделы реестра на основе профиля .NET Framework 4, установленного на компьютере. Таким образом можно выяснить, установлена ли на вашем компьютере версия 2 обновления KB2468871.

Для этого выполните следующие действия:
  1. В меню Пуск выберите элемент Выполнить, введите команду regedit и нажмите клавишу ВВОД.
     
  2. Найдите и откройте один из указанных ниже подразделов реестра, соответствующий используемым операционной системе и архитектуре.
     
    • Для всех поддерживаемых 32-разрядных (x86) версий Windows см. сведения в следующих подразделах:
       
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2468871\
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 4 Extended\KB2468871\
       
    • Для всех поддерживаемых 64-разрядных (x64) версий Windows см. сведения в следующих подразделах:
       
      HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2468871\
       
      HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\Updates\Microsoft .NET Framework 4 Extended\KB2468871\