Файл Readme Microsoft .NET Framework 4

Для получения самой последней версии файла Readme щелкните здесь.

1. Требования к системе

1.1 Поддерживаемые архитектуры

1.2 Поддерживаемые операционные системы

1.3 Аппаратные требования

1.4 Другие требования к системе

2. Известные проблемы

2.1 Установка

2.1.1 Полная версия (установка)

2.1.1.1 Не удается загрузить тип System.ServiceModel.Activation.HttpModule после изменения .NET Framework 3.5 при установленной .NET Framework 4

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

Полный текст ошибки.

Не удалось загрузить тип System.ServiceModel.Activation.HttpModule из сборки «System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089».

Описание: при выполнении текущего веб-запроса произошло необработанное исключение. Дополнительную информацию по ошибке и месту ее возникновения в коде см. в трассировке стека.

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

2.1.1.2 При удалении .NET Framework 4 Beta 2 в файле applicationHost.config в Windows Vista, Windows Server 2008 и Windows 7 остаются неиспользуемые записи isapiCgiRestriction.

На компьютере с включенными IIS 7 или IIS 7.5 и установленной .NET Framework 4 при удалении версии Beta 2 в файле applicationHost.config остаются неиспользуемые записи isapiCgiRestriction. Это происходит в системах Windows Vista, Windows Server 2008 и Windows 7. Неиспользуемые записи не оказывают влияния на работоспособность веб-сервера. На компьютер можно устанавливать последующие версии .NET Framework 4, так как записи isapiCgiRestriction будут обновлены при последующих установках.

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

Удалите неиспользуемые записи isapiCgiRestriction из файла applicationHost.config. Данный шаг не является обязательным, так как записи, оставшиеся после удаления, не оказывают влияния на работоспособность продукта и не ограничивают возможность установки последующих версий.

2.1.1.3 Не удается установить .NET Framework 1.0 после установки .NET Framework 4

.NET Framework 1.0 нельзя установить после установки .NET Framework 4.  .NET Framework 1.0 должна быть установлена до установки .NET Framework 4.

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

  1. Перейдите в панель управления и откройте окно программ и компонентов.
  2. Удалите .NET Framework 4 Extended.
  3. Удалите клиентский профиль .NET Framework 4.
  4. Установите .NET Framework 1.0.
  5. Установите .NET Framework 4.

2.1.1.4 Сбой установки .NET Framework 4

Сбой установки .NET Framework 4.

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

См. руководство по устранению неполадок при установке .NET Framework 4 (http://go.microsoft.com/fwlink/?LinkId=186690)

2.1.1.5 Не удается полностью удалить службу кэширования шрифтов Windows Presentation Foundation (WPF) 4 после удаления полной версии .NET Framework 4

2.1.1.5 Не удается полностью удалить службу кэширования шрифтов Windows Presentation Foundation (WPF) 4 после удаления полной версии .NET Framework 4.

Примечание. Эта неполадка присутствует как в полной версии, так и в клиентском профиле .NET Framework.

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

  1. Откройте окно командной строки от имени учетной записи администратора.
  2. Введите       «sc delete WPFFontCache_v0400»

Должно появиться сообщение «[SC] DeleteService SUCCESS».

При обновлении консоли служб кэш шрифтов появляться не должен.  Если при обновлении неполадка не устраняется, перезапустите компьютер.

2.1.2 Клиентский профиль (установка)

2.1.2.1 Не удается установить .NET Framework 1.0 после установки клиентского профиля .NET Framework 4

.NET Framework 1.0 нельзя установить после установки клиентского профиля .NET Framework 4.  .NET Framework 1.0 должна быть установлена до установки клиентского профиля .NET Framework 4.

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

  1. Перейдите в панель управления и откройте окно программ и компонентов.
  2. Удалите клиентский профиль .NET Framework 4.
  3. Установите .NET Framework 1.0.
  4. Установите клиентский профиль .NET Framework 4.

2.1.2.2 Не удается полностью удалить службу кэширования шрифтов Windows Presentation Foundation (WPF) 4 после удаления клиентского профиля .NET Framework 4

2.1.1.5 Не удается полностью удалить службу кэширования шрифтов WPF при удалении .NET Framework 4. 

Несмотря на то что служба кэширования шрифтов WPF больше недоступна после удаления, запись «Windows Presentation Foundation Font Cache 4.0.0.0»  по-прежнему отображается в консоли служб.

В Windows Vista и Windows Server 2008 поле «Описание» консоли служб  будет содержать запись: <Не удалось прочитать описание. Код ошибки: 2 >.  В Windows XP и Windows Server 2003 поле «Описание» консоли служб  будет содержать правильную строку.

Для устранения этой неполадки переустановите .NET Framework. Каких-либо других эффектов не обнаружено.

Примечание. Эта неполадка присутствует как в полной версии, так и в клиентском профиле .NET Framework.

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

  1. Откройте окно командной строки от имени учетной записи администратора.
  2. Введите       «sc delete WPFFontCache_v0400»

Должно появиться сообщение «[SC] DeleteService SUCCESS».

При обновлении консоли служб кэш шрифтов появляться не должен.  Если при обновлении неполадка не устраняется, перезапустите компьютер.

2.1.2.3 Сбой установки клиентского профиля .NET Framework 4

Сбой установки клиентского профиля .NET Framework 4.

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

См. руководство по устранению неполадок при установке .NET Framework 4 (http://go.microsoft.com/fwlink/?LinkId=186690)

2.2 Удаление

2.2.1 Полная версия (удаление)

2.2.1.1 При удалении .NET Framework 4 Beta 2 в файле applicationHost.config в Windows Vista, Windows Server 2008 и Windows 7 остаются неиспользуемые записи isapiCgiRestriction.

На компьютере с включенными IIS 7 или IIS 7.5 и установленной .NET Framework 4 при удалении версии Beta 2 в файле applicationHost.config остаются неиспользуемые записи isapiCgiRestriction. Это происходит в системах Windows Vista, Windows Server 2008 и Windows 7. Неиспользуемые записи не оказывают влияния на работоспособность веб-сервера. На компьютер можно устанавливать последующие версии .NET Framework 4, так как записи isapiCgiRestriction будут обновлены при последующих установках.

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

Удалите неиспользуемые записи isapiCgiRestriction из файла applicationHost.config. Данный шаг не является обязательным, так как записи, оставшиеся после удаления, не оказывают влияния на работоспособность продукта и не ограничивают возможность установки последующих версий.

2.2.1.2 Не удается полностью удалить службу кэширования шрифтов WPF 4.0 после удаления полной версии .NET Framework 4

Чтобы полностью удалить службу кэширования шрифтов:

  1. Откройте окно командной строки от имени учетной записи администратора.
  2. Введите:       «sc delete WPFFontCache_v0400»

Должно отобразиться следующее сообщение:  «[SC] DeleteService SUCCESS».

При обновлении консоли служб кэш шрифтов появляться не должен.  Если при обновлении консоли служб данная неполадка не устраняется, перезагрузите компьютер.

(Примечание: это описание предназначено для полной версии .NET Framework и является копией аналогичного описания 877240, относящегося к клиентскому профилю )

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

Чтобы полностью удалить службу кэширования шрифтов:

  1. Откройте окно командной строки от имени учетной записи администратора.
  2. Введите:       «sc delete WPFFontCache_v0400»

Должно появиться сообщение: «[SC] DeleteService SUCCESS».

При обновлении консоли служб кэш шрифтов появляться не должен.  Если при обновлении консоли служб данная неполадка не устраняется, перезагрузите компьютер.

2.2.2 Клиентский профиль (удаление)

2.2.2.1 Не удается полностью удалить службу кэширования шрифтов WPF 4.0 после удаления клиентского профиля .NET Framework 4

Не удается полностью удалить службу кэширования шрифтов WPF при удалении .NET Framework 4 из Vista/XP/w2k3/W2k8. 

Несмотря на то что служба кэширования шрифтов WPF больше недоступна после удаления, запись «Windows Presentation Foundation Font Cache 4.0.0.0»  по-прежнему отображается в консоли служб.

В Windows Vista и Windows Server 2008 поле «Описание» консоли служб  будет содержать запись: <Не удалось прочитать описание. Код ошибки: 2 >.  В Windows XP и Windows Server 2003 поле «Описание» консоли служб  будет содержать правильную строку.

Для устранения этой неполадки переустановите .NET Framework. Каких-либо других эффектов не обнаружено.

Примечание: данная неполадка воспроизводится как в клиентском профиле, так и в полной версии .NET Framework.

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

Чтобы полностью удалить службу кэширования шрифтов:

  1. Откройте окно командной строки от имени учетной записи администратора.
  2. Введите:       «sc delete WPFFontCache_v0400»

Должно появиться сообщение: «[SC] DeleteService SUCCESS».

При обновлении консоли служб кэш шрифтов появляться не должен.  Если при обновлении консоли служб данная неполадка не устраняется, перезагрузите компьютер.

(Примечание: это описание предназначено для клиентского профиля .NET Framework и является копией аналогичного описания  888322, относящегося к полной версии ) 

2.3 Проблемы при использовании продукта

2.3.1 Общие проблемы

2.3.1.1 Не удается выполнить публикацию ClickOnce из-за неправильного расположения распространяемых языковых пакетов.

Если при использовании китайских версий (упрощенное письмо и традиционное письмо) Visual Studio 2010 для публикации приложения, в диалоговом окне «Необходимые компоненты» выбраны какие-либо из следующих компонентов, а также выбран параметр «Загружать необходимые компоненты из того же места, что и приложение», может возникнуть ошибка построения:

  1. Microsoft .NET Framework 4 (x86 и x64)
  2. Клиентский профиль Microsoft .NET Framework 4 (x86 и x64)
  3. Среда выполнения Microsoft Visual F# для .NET 2.0
  4. Среда выполнения Microsoft Visual F# для .NET 4.0

Это возможная ошибка построения для компонента «Клиентский профиль Microsoft .NET Framework 4 (x86 и x64)»:

«MSB3152: Путь установки обязательных компонентов не задан как "веб-сайт поставщика компонента", а размещение файла "DotNetFX40Client\dotNetFx40LP_Client_x86_x64cs.exe" в элементе "Клиентский профиль Microsoft .NET Framework 4 (x86 и x64)" на диске невозможно. Дополнительные сведения см. в справке.»

Чтобы обойти эту проблему:

    Чтобы обойти эту проблему для китайского (упрощенное письмо) выполните следующие действия:

  1. Перейдите в папку %ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client. Для ОС x64 путь начинается с папки %ProgramFiles(x86)%.
  2. Скопируйте папку zh-Hans в новую папку с именем zh-chs
  3. Перейдите в папку zh-chs.
  4. Откройте Package.xml от имени учетной записи администратора.
  5. Задайте для свойства >Culture< значение zh-chs следующим образом:
  6. <String Name="Culture">zh-chs</String>

    Чтобы обойти эту проблему для китайского (традиционное письмо) выполните следующие действия:

  1. Перейдите в папку %ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client. Для ОС x64 путь начинается с папки %ProgramFiles(x86)%.
  2. Скопируйте папку zh-Hant в новую папку с именем zh-cht
  3. Перейдите в папку zh-cht.
  4. Откройте Package.xml от имени учетной записи администратора.
  5. Задайте для свойства >Culture< значение zh-cht следующим образом:
  6. <String Name="Culture">zh-cht</String>

2.3.1.2 Приложение ClickOnce устанавливает неправильные распространяемые языковые пакеты.

Возможно, не удастся установить китайские (упрощенное письмо и традиционное письмо) языковые пакеты, если при использовании китайских версий (упрощенное письмо и традиционное письмо) Visual Studio 2010 для публикации приложения, в диалоговом окне «Необходимые компоненты» выбраны какие-либо из следующих компонентов, а также выбран параметр «Загружать необходимые компоненты с веб-сайта поставщика компонентов»:

  1. Microsoft .NET Framework 4 (x86 и x64)
  2. Клиентский профиль Microsoft .NET Framework 4 (x86 и x64)
  3. Среда выполнения Microsoft Visual F# для .NET 2.0
  4. Среда выполнения Microsoft Visual F# для .NET 4.0

Чтобы обойти эту проблему:

    Чтобы обойти эту проблему для китайского (упрощенное письмо) выполните следующие действия:

  1. Перейдите в папку %ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client. Для ОС x64 путь начинается с папки %ProgramFiles(x86)%.
  2. Скопируйте папку zh-Hans в новую папку с именем zh-chs
  3. Перейдите в папку zh-chs.
  4. Откройте Package.xml от имени учетной записи администратора.
  5. Задайте для свойства >Culture< значение zh-chs следующим образом:
  6. <String Name="Culture">zh-chs</String>

    Чтобы обойти эту проблему для китайского (традиционное письмо) выполните следующие действия:

  1. Перейдите в папку %ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client. Для ОС x64 путь начинается с папки %ProgramFiles(x86)%.
  2. Скопируйте папку zh-Hant в новую папку с именем zh-cht
  3. Перейдите в папку zh-cht.
  4. Откройте Package.xml от имени учетной записи администратора.
  5. Задайте для свойства >Culture< значение zh-cht следующим образом:
  6. <String Name="Culture">zh-cht</String>

2.3.2 ASP.NET

2.3.2.1 После установки .NET Framework 4 в Windows 7 невозможно настроить файлы aspnet.config для отдельных пулов приложений IIS 7.5

После установки .NET Framework 4 на клиентском компьютере или сервере под управлением Windows 7 и с включенным IIS 7.5 функция настройки файлов конфигурации ASP.NET для различных пулов приложений перестает работать. Это вызвано тем, что установка .NET Framework 4 приводит к небольшому изменению поведения по умолчанию инициализации общеязыковой среды выполнения (CLR). Когда .NET Framework 4 установлена, для инициализации CLR IIS 7.5 в Windows 7 отправляет вызов в собственную ASP.NET 4 DLL, а данная логика инициализации не допускает использование различных файлов конфигурации.

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

Так как логика инициализация CLR в основном одинакова для .NET Framework 4 и для IIS 7.5 (исключая аспект файлов конфигурации), IIS 7.5 можно настроить таким образом, чтобы ASP.NET 4 не передавались полномочия инициализации CLR. Данную настройку можно выполнить двумя способами.

Вариант 1
----------
В файле applicationHost.config IIS 7.5 укажите пустую строку в качестве значения по умолчанию для атрибута managedRuntimeLoader, как указано в следующем примере:

<applicationPools>
  <applicationPoolDefaults managedRuntimeLoader="" />
</applicationPools>

Вариант 2
----------
В файле IIS_Schema.xml IIS 7.5 укажите пустую строку для параметра defaultValue атрибута managedRuntimeLoader. Например, атрибут может выглядеть как в следующем примере: 

<attribute name="managedRuntimeLoader" type="string" defaultValue="webengine4.dll" />

Измените его следующим образом:

<attribute name="managedRuntimeLoader" type="string" defaultValue="" />

2.3.2.2 Отмена регистрации и повторная регистрация ASP.NET 4 в Windows XP и Windows Server 2003 приводит к пустому значению версии ASP.NET на вкладке свойств ASP.NET в IIS MMC

При отмене регистрации и повторной регистрации ASP.NET 4 в Windows XP и Windows Server 2003 (всех версий) на вкладке ASP.NET в списке версий ASP.NET IIS MMC отображает пустое значение. Выполните следующие шаги для устранения данной проблемы:

  1. Используя aspnet_regiis версии ASP.NET 4, выполните команду «aspnet_regiis -u»
  2. Используя aspnet_regiis версии ASP.NET 4, выполните команду «aspnet_regiis -i -enable»

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

В списке версий ASP.NET в IIS MMC вручную выберите необходимую версию ASP.NET и нажмите кнопку «Применить».

2.3.2.3 В Windows Vista, Windows Server 2008 и Windows 7 возможны сбои задач компиляции ASP.NET, так как рабочий процесс IIS не обладает разрешениями на запись во временный каталог Windows

В Windows Vista, Windows Server 2008 и Windows 7 возможны сбои задач компиляции ASP.NET, так как рабочий процесс IIS не обладает разрешениями на запись во временный каталог Windows (%WINDOWS%\Temp). При компиляции элементов, например ссылок веб-служб, зависящих от файлов WSDL, возможно появление ошибок, например «Сообщение об ошибке синтаксического анализатора: не удалось создать временный класс».
 
Данная ошибка возникает при включенной IIS и установленной .NET Framework 4 и отключенных ASP.NET и функции «Расширяемость .NET».

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

Вариант 1
----------
Предоставьте явным образом учетной записи рабочего процесса IIS разрешения на запись во временный каталог Windows (%WINDOWS%\Temp). Одним из способов является предоставление доступа на запись группе, включающей учетную запись рабочего процесса, например, группе IIS_IUSRS.
 
Вариант 2
---------
Включите функции ASP.NET и .NET Extensibility. В панели управления Windows откройте раздел «Программы», «Программы и компоненты», «Включение или отключение компонентов Windows». В диалоговом окне «Компоненты Windows» откройте узел «Службы IIS», «Службы Интернета», «Компоненты разработки приложений». Включите следующие функции:

     Расширяемость .NET
     ASP.NET

2.3.2.4 Сбой загрузки предкомпилированных веб-сборок, развернутых в GAC, и возникновение исключения SecurityException при выполнении веб-сайта с частичным доверием

Веб-сайты ASP.NET можно предварительно компилировать с помощью инструмента командной строки aspnet_compiler.exe. Подписанные ключом полученные сборки можно развернуть на веб-сайты в GAC вместо папки Bin.

В ASP.NET 4 при попытке веб-сайта, выполняемого с частичным доверием, загрузить сборки из GAC возникает исключение System.Security.SecurityException. Это происходит потому, что по умолчанию ASP.NET 4 использует более новую реализацию политики безопасности доступа к коду (CAS) по сравнению с предыдущими версиями ASP.NET. В новой реализации CAS для предкомпилированных и подписанных сборок, развернутых в GAC, требуется явно установить атрибут SecurityTransparent.

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

Вариант 1
--------
Перед компиляцией установите для сборки атрибут SecurityTransparent согласно данному примеру:

[assembly:System.Security.SecurityTransparentAttribute]

Вариант 2
--------
Добавьте параметр compilerOptions в файл Web.config сайта согласно описанию в статье «Создание сборок с контролем версий для предкомпилированных веб-сайтов» (http://msdn.microsoft.com/en-us/library/ms228042.aspx). В качестве части данного процесса добавьте в файлы AssemblyInfo.vb или AssemblyInfo.cs следующую строку со ссылкой на настройку compilerOptions:

[assembly:System.Security.SecurityTransparentAttribute]

Вариант 3
--------
Создайте фиктивную библиотеку классов, содержащую следующий атрибут:

[assembly:System.Security.SecurityTransparentAttribute]

Скомпилируйте библиотеку классов в сборку, а затем, используя параметр copyattrs, запустите инструмент командной строки aspnet_merge.exe для выходных файлов предварительно откомпилированного веб-сайта, как указано в следующем примере:

aspnet_merge c:\MyApplicationRootDirectory -copyattrs assemblyfile.dll

В качестве имени библиотеки DLL используйте имя фиктивной библиотеки классов с установленным атрибутом SecurityTransparent.

Вариант 4
--------
Временно вернитесь к предыдущему режиму CAS путем установки для сайта в файле Web.config значения true элемента trust атрибута legacyCasModel, как показано в следующем примере:

<trust level="Medium" legacyCasModel="true"/>

После внесения данного изменения рекомендуется использовать один из других вариантов установки предкомпилированным сборкам атрибута SecurityTransparent. После этого можно удалить атрибут legacyCasModel и запустить веб-сайт в новом режиме CAS.

2.3.2.5 Возможен сбой приложений ASP.NET и WCF при их запуске в режиме интеграции с IIS 7

Если в файл Web.config приложения ASP.NET или Windows Communication Foundation (WCF) добавлены новые разделы конфигурации, при запуске приложения в режиме интеграции с IIS 7 произойдет сбой.

Например, если к файлу Web.config приложения WCF добавлен раздел конфигурации <standardEndpoints>, приложение не запустится в режиме интеграции с IIS 7. Вместо этого IIS 7 возвращает ошибку проверки конфигурации, так как новый раздел конфигурации не будет распознан системой конфигурации IIS 7.

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

Загрузите и установите общедоступное исправление для данной ошибки. Исправление доступно по адресу http://support.microsoft.com/kb/958854. Кроме того, можно установить пакет обновления Windows Vista SP 2, который включает это исправление.  В операционных системах Windows 7 и Windows Server 2008 R2 данная ошибка не возникает, так как они уже содержат это исправление.

2.3.2.6 Повторная регистрация ASP.NET 4 может потребоваться в Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2

Повторная регистрация ASP.NET 4 требуется при включении IIS 7/7.5 или функции «Расширяемость .NET» IIS7/7.5 *после* установки .NET Framework 4 на компьютер. Повторная регистрация ASP.NET 4 также требуется при удалении функции «Расширяемость .NET» с установленной на компьютере .NET Framework 4.

В обоих случаях повторная регистрация необходима, так как процессы операционной системы по установке и удалению для IIS7 и IIS 7.5,  а также для функции «Расширяемость .NET», не были разработаны для использования в сценарии, при котором более поздняя версия .NET Framework уже установлена на компьютер.

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

Для повторной регистрации ASP.NET 4 выполните следующую команду:

          aspnet_regiis -iru -enable 

Требуется использовать aspnet_regiis.exe из каталога установки .NET Framework 4.

2.3.2.7 При администрировании удаленного веб-сервера может не отображаться вкладка консоли управления (MMC) ASP.NET

При выполнении консоли управления (MMC) на локальном компьютере при администрировании удаленного веб-сервера вкладка ASP.NET может не отображаться. Вкладка не отображается при использовании средства управления IIS 6 для удаленного управления веб-сервером с установленной ASP.NET и в операционных системах Windows Server 2008 x64, Windows 7 или Windows Server 2008 R2 (x86 или x64).

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

Не существует путей решения этой проблемы.

2.3.2.8 Сбой отмены регистрации других версий ASP.NET, включая ASP.NET 4, при выполнении «aspnet_regiis -ua» версии ASP.NET 2.0

Выполнение команды «aspnet_regiis -ua» версии ASP.NET 2.0 в Windows Vista, Windows Server 2008, Windows 7 или Windows Server 2008 R2 приводит к следующей ошибке: 

          Запрос не поддерживается.

Это связано с тем, что команда aspnet_regiis версии ASP.NET 2.0 не может определить наличие на компьютере более поздней версии ASP.NET.

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

Выполните команду «aspnet_regiis -ua» версии ASP.NET 4 для отмены регистрации на компьютере всех версий ASP.NET.

2.3.2.9 При выполнении «aspnet_regiis -i» в Windows Server 2003 не выполняется рекурсивное обновление виртуальных каталогов до версии ASP.NET 4

Для ASP.NET 2.0 команда «aspnet_regiis -i» рекурсивно обновляет все виртуальные каталоги в Windows Server 2003 для использования ASP.NET 2.0. Для ASP.NET 4 команда «aspnet_regiis -i» в Windows Server 2003 выполняет только корневое обновление IIS 6 до ASP.NET 4. Если некоторым виртуальным каталогам ниже корневого уровня явно задано выполнение определенной версии ASP.NET, вместо наследования настроек ASP.NET 4 из корневых каталогов для данных виртуальных каталогов не будет изменена явно заданная версия ASP.NET.

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

Выполните одну из следующих команд версии ASP.NET 4:

          aspnet_regiis -s

          aspnet_regiis -r

Данные команды выполняют принудительное обновление всех виртуальных каталогов до ASP.NET 4.

2.3.2.10 Отмена регистрации ASP.NET 2.0 приводит к сбою счетчиков производительности ASP.NET 4

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

          «Не удалось найти процедуру открытия %pef_counter_name% в библиотеке %WINDOWS%\Microsoft.NET\Framework\v4.0.NNNNN\aspnet_perf.dll для службы ASP.NET».

          «Сбор данных счетчика производительности из службы ASP.NET был отключен из-за одной и более ошибок библиотеки счетчика производительности для этой службы».

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

Выполните команду «aspnet_regiis -iru» версии ASP.NET 4.  При этом счетчики производительности ASP.NET 4 будут перерегистрированы.

2.3.2.11 Пользовательские экземпляры SQL Server Express не функционируют с проектами веб-приложений в IIS 6 или IIS 7 или с приложениями в IIS 7.5

По умолчанию веб-проекты и веб-приложения ASP.NET 4, основанные на пользовательских экземплярах SQL Server Express, не функционируют в следующих условиях:

  1. Проект веб-приложения (WAP) размещен в качестве виртуального каталога в любой версии IIS.  Причиной этого является то, что пользовательским экземплярам SQL Server Express требуются определенные разрешения для файлов для пользовательской папки Документы, а учетная запись службы IIS (NETWORK SERVICE) не обладает данными разрешениями.
  2. Веб-сайт размещен на IIS 7.5 под управлением Windows 7 или Windows Server 2008 R2. Причиной является то, что учетная запись для безопасного доступа для пула приложений IIS 7.5 не размещена в NETWORK SERVICE.

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

Информацию по решению данных проблем см. в статье по адресу  

          http://go.microsoft.com/fwlink/?LinkID=160102

2.3.2.12 При наличии в файлах уровня приложения Web.config связанных разделов возникают ошибки ASP.NET 4 или IIS 7

В ASP.NET 4 размер файла Web.config по умолчанию был значительно уменьшен. В результате этого в IIS 7 (под управлением Windows Vista и Windows Server 2008) и IIS 7.5 (под управлением Windows Server 2008 R2) возникают ошибки конфигурации. Ошибки зависят от установленных в системе обновлений, а также от любой информации по конфигурации, содержащейся в файлах уровня приложения Web.config.

Windows Vista SP1 или Windows Server 2008 SP1 с установленным исправлением KB958854 или SP2. В данном случае система конфигурации IIS 7 неверно объединяет управляемую конфигурацию приложения путем сравнения файла уровня приложения Web.config с файлами machine.config ASP.NET 2.0. Поэтому, чтобы избежать ошибки проверки IIS 7, файлы уровня приложения Web.config из .NET Framework 3.5 или .NET Framework 4 должны иметь раздел конфигурации<system.web.extensions>.  Ошибки конфигурации могут быть также вызваны, если вручную измененные записи файла уровня приложения Web.config не соответствуют оригинальным стандартным определениям раздела конфигурации, которые были представлены в Visual Studio 2008. (Созданные Visual Studio 2008 записи конфигурации по умолчанию будут функционировать.) Общей проблемой является то, что вручную измененные файлы Web.config не включают атрибуты конфигурации allowDefinition и requirePermission, содержащиеся в различных определениях разделов конфигурации. В результате возникает несоответствие между сокращенным разделом конфигурации в файлах уровня приложения Web.config и полным определением в файле machine.config ASP.NET 4. Поэтому во время выполнения система конфигурации ASP.NET 4 вызывает ошибку конфигурации.

Windows Vista SP2, Windows Server 2008 SP2, Windows 7, Windows Server 2008 R2, а также Windows Vista SP1 и Windows Server 2008 SP1 с установленным исправлением KB958854. В данном случае собственная система конфигурации IIS 7 и IIS 7.5 возвращает ошибку конфигурации, так как выполняется сравнение текста по атрибуту type, заданному для обработчика раздела управляемой конфигурации. Так как все файлы Web.config, созданные Visual Studio 2008 и Visual Studio 2008 SP1, содержат значение 3.5 в строке типа для разделов конфигурации <system.web.extensions> (и связанных с ними), а также так как файл machine.config ASP.NET 4 содержит значение 4.0 в атрибуте type для тех же разделов конфигурации, в приложениях, созданных в Visual Studio 2008 или Visual Studio 2008 SP1, всегда будет происходить сбой проверки конфигурации в IIS 7 и IIS 7.5.

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

В первом случае обновите файл уровня приложения Web.config путем включения в него стандартного текста конфигурации из файла Web.config, автоматически созданного Visual Studio 2008.

Во втором случае удалите или закомментируйте все определения раздела конфигурации <system.web.extensions> и определения группы раздела конфигурации в файле уровня приложения Web.config.

2.3.2.13 Данные параметра не передаются методу System.Web.Hosting.IProcessHostPreloadClient.Preload

В качестве входного параметра метод System.Web.Hosting.IProcessHostPreloadClient.Preload принимает массив строк. Но невозможно задать эти данные и в данном параметре не передается информация.

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

Более ранние версии предварительного просмотра функции автозапуска IIS 7.5 поддерживали способ настройки одной или более строк для передачи методу IProcessHostPerloadClient.Preload ASP.NET 4. Однако данная функция удалена из окончательной версии Windows 7 и Windows Server 2008 R2.

2.3.2.14 Функция «Расширяемость .NET» IIS7/IIS7.5 не интегрируется с ASP.NET 4 в Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2

Функция «Расширяемость .NET» IIS 7 и IIS 7.5 является параметром конфигурации, который доступен для установки или удаления функций IIS 7 или IIS 7.5 в диалоговом окне «Компоненты Windows». Функция расположена в следующем узле:

Службы IIS  > Службы Интернета  > Компоненты разработки приложений  > Расширяемость  .NET 

В Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2 функция «Расширяемость .NET» оказывает влияние только на интеграции ASP.NET 2.0 с IIS 7 или IIS 7.5. Функция не оказывает воздействия на регистрацию или отмену регистрации ASP.NET 4 с IIS 7 или IIS 7.5.

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

Для управления интеграцией ASP.NET 4 с IIS 7 или IIS 7.5 используйте команду aspnet_regiis.exe версии ASP.NET 4.

2.3.2.15 Приложения ASP.NET 2.0, работающие под управлением IIS 6, могут вызывать ошибки, например: «System.Web.HttpException: путь /[корневой_каталог_приложения]/eurl.axd/[значение] не найден».

Приложения ASP.NET 2.0, работающие под управлением IIS 6 (в Windows Server 2003 или Windows Server 2003 R2) могут вызывать следующие ошибки:

System.Web.HttpException: путь /[корневой_каталог_приложения]/eurl.axd/[значение] не найден.

Данная ошибка возникает только после включения ASP.NET 4 в IIS 6. Ошибка возникает в связи с тем, что при определении ASP.NET настройки веб-сайта, указывающей на использование ASP.NET 4, собственный компонент ASP.NET 4 передает URL-адрес без расширения управляемой части ASP.NET для последующей обработки.

Однако, если виртуальные каталоги ниже веб-сайта ASP.NET 4 настроены на использование ASP.NET 2.0, обработка URL-адреса без расширения данным образом приводит к созданию измененного URL-адреса, содержащего eurl.axd, который затем отправляется приложению ASP.NET 2.0. ASP.NET 2.0 не распознает формат eurl.axd.  Поэтому ASP.NET 2.0 сделает попытку поиска файла с именем eurl.axd и его выполнения.  Так как данный файл не существует, произойдет сбой запроса с исключением HttpException.

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

Вариант 1
--------
Если для работы веб-сайта не требуется ASP.NET 4, переназначьте сайт для использования ASP.NET 2.0.

Вариант 2
---------
Если для работы веб-сайта требуется ASP.NET 4, переместите дочерние виртуальные каталоги ASP.NET 2.0 на другой веб-сайт, который связан с ASP.NET 2.0.

Вариант 3
---------
Если переназначение веб-сайта для ASP.NET 2.0 или изменение местоположения виртуального каталога не являются целесообразным, явно отключите обработку URL-адресов без расширений в ASP.NET 4, используя следующую процедуру:

1. В реестре Windows откройте следующий узел:: 

     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.<build#>   

 Примечание: <build#> — номер сборки версии выпуска .NET Framework 4.

2. Создайте значение DWORD с именем EnableExtensionlessUrls.

3. Установите для EnableExtensionlessUrls значение 0. Это приведет к отключению поведения URL-адресов без расширения.

4. Сохраните значение реестра и закройте редактор реестра.

5. Запустите инструмент командной строки iisreset, что приведет к прочтению IIS нового значения реестра.

 Примечание: установка для EnableExtensionlessUrls значения 1 приведет к включению поведения URL-адреса без расширения. Если иное значение не указано, данная настройка является настройкой по умолчанию.

2.3.2.16 Веб-сайты, использующие Entity Framework и созданные посредством предварительных версий ASP.NET 4, прекращают работу в связи с отсутствующими ссылками на сборки

Ссылки на пространства имен и сборки, требуемые веб-проектами, использующими Entity Framework, были удалены из корневого файла Web.config версии RTM. В результате веб-сайты с динамическими данными, использующие EntityDataSource, а также веб-приложения, использующие Entity Framework, созданные посредством предварительных версий ASP.NET 4, будут приводить к сбою и ошибкам компиляции.

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

В файл приложения Web.config можно вставить отсутствующие ссылки на сборки и пространства имен. В следующем примере представлены элементы сборки и пространства имен, которые должны быть вручную вставлены на уровень приложения файла Web.config.

<system.web>

<compilation>
        <assemblies>
            <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />             
        </assemblies>
    </compilation>

    <pages>
        <namespaces>
            <add namespace="System.Data.Entity.Design" />
            <add namespace="System.Data.Linq" />
        </namespaces>
    </pages>

</system.web>

2.3.2.17 В предварительных версиях ASP.NET 4 в IIS 7 или IIS 7.5 в режиме интеграции возможно появление необработанной ошибки NullReferenceException из класса RoleManagerModule

При определенном порядке установки для .NET Framework версии 2.0 и версии 4 в Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2, приложения ASP.NET 4 вызывают необработанную ошибку NullReferenceException из класса RoleManagerModule. Данная ошибка возникает, если ASP.NET 4 является единственной версией ASP.NET, зарегистрированной с IIS 7 или IIS 7.5, и ASP.NET 2.0 зарегистрировано с IIS или была выполнена отмена регистрации ASP.NET 2.0 из IIS 7 или IIS 7.5.

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

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

Несмотря на то что данная ошибка исправлена в версии выпуска ASP.NET 4, в предварительных версиях ASP.NET 4 возможно указание неверного порядка для модулей. Если на компьютере с обновленной предварительной версией ASP.NET 4 до версии RTM все еще возникает ошибка, выполните следующие шаги:

1.  Откройте файл applicationHost.config из следующей папки:

%windir%\System32\inetsrv\config

2. Найдите следующий элемент

<location path="" overrideMode="Allow">

Данный элемент содержит список модулей HTTP для режима интеграции. Информация размещена в элементе <modules>.

3. Найдите элемент, начинающийся со следующей строки:

<add name="RoleManager"  ...

4. Переместите элемент ниже элемента, начинающегося со следующей строки:

<add name="DefaultAuthentication"...

5. Сохраните файл.

По окончании одна часть определения <modules> должна соответствовать следующему примеру:

<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" />
<add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" />

2.3.2.18 В приложениях веб-форм MVC 2 и ASP.NET 4, использующих маршрутизацию URL-адресов, при попытке обработки URL-адресов без расширений в IIS 7 и IIS 7.5 возможно появление ошибок HTTP 404

При выполнении приложений веб-форм MVC 2 и ASP.NET 4, использующих URL-адреса без расширений, в Windows Vista, Windows Server 2008, Windows 7 или Windows Server 2008 R2 возможно появление ошибок HTTP 404. Данная ситуация возникает только при включенном параметре .NET Framework Extensibility и  IIS, установленной посредством диалогового окна «Компоненты Windows». Минимальная установка IIS не включает определенные модули HTTP. В связи с тем, как ASP.NET и IIS управляют переходами событий конвейера HTTP, отсутствующие модули HTTP предотвращают своевременное выполнение модуля маршрутизации URL-адреса ASP.NET. В результате запросы на URL-адреса без расширений не обрабатываются модулем маршрутизации URL-адреса и возникает ошибка 404.

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

В диалоговом окне «Включение или отключение компонентов Windows» панели управления Windows
выберите приложение «Программы и компоненты» и выполните следующие действия:

1. Перейдите к следующему узлу:

Службы IIS --> Службы Интернета --> Основные возможности HTTP

2. Убедитесь, что выбран параметр «Перенаправление ошибки HTTP».

-или-

1. Перейдите к следующему узлу:

Службы IIS --> Службы Интернета --> Функции повышения быстродействия

2. Убедитесь, что выбран параметр «Сжатие статического содержимого».

После выбора одного из вариантов нажмите кнопку «OK» для сохранения изменений.

Повторное включение модуля «Перенаправление ошибки HTTP» или модуля «Сжатие статического содержимого» обеспечит верную синхронизацию событий конвейера HTTP средствами ASP.NET и IIS. Это позволит модулю маршрутизации URL-адреса обрабатывать URL-адреса без расширений.

2.3.2.19 System.Web.Mobile.dll удалена из корневого файла Web.config

В более ранних версиях ASP.NET в разделе <assemblies> в <system.web><compilation> корневого файла Web.config содержалась ссылка на сборку System.Web.Mobile.dll. С целью повышения производительность ссылка на данную сборку была удалена.

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

Сборка System.Web.Mobile.dll включена в ASP.NET 4, но не рекомендуется к использованию. Для использования типов из сборки System.Web.Mobile.dll добавьте ссылку на данную сборку в корневой файл Web.config или в файл приложения Web.config. Например, для использования любого (не рекомендуемого) мобильного элемента управления ASP.NET требуется добавить в файл Web.config ссылку на сборку System.Web.Mobile.dll.

2.3.2.20 Изменения файлов определений и функций браузера

В файлы определений браузера добавлена информация по новым и обновленным браузерам и устройствам. Более ранние браузеры и устройства, например Netscape Navigator, были удалены, а новые браузеры и устройства, например Google Chrome и Apple iPhone, добавлены.

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

С ASP.NET 4 можно использовать более ранние файлы определений браузера. Эти файлы и документация по их установке содержатся в выпуске файлов определений браузера ASP.NET по адресу http://go.microsoft.com/fwlink/?LinkID=186493.

2.3.2.21 ScriptManager.EnableCdn и локализованные файлы Microsoft Ajax

Локализованные версии файлов Microsoft Ajax JavaScript, например, MicrosoftAjax.debug.ja.js, не будут добавлены к сети доставки содержимого Microsoft Ajax (CDN) до выхода локализованных версий .NET Framework 4. Поэтому не включайте свойство ScriptManager.EnableCdn при использовании локализованной версии .NET Framework и CDN.

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

Для использования сети доставки содержимого Microsoft Ajax (CDN) следует дождаться выпуска локализованных версий .NET Framework 4. До выпуска элементы управления ScriptManager в приложении не должны иметь значение EnableCdn = true.

2.3.2.22 Универсальные счетчики производительности ASP.NET предоставляют только данные отчета из приложений ASP.NET 4

После установки ASP.NET 4 универсальные счетчики производительности ASP.NET будут предоставлять только данные отчета из приложений ASP.NET 4.  При использовании универсальных счетчиков производительности для приложений ASP.NET 1.1, ASP.NET 2.0 и ASP.NET 3.5 данные предоставляться не будут.  Для данных производительности приложений в более ранних версиях ASP.NET требуется использовать соответствующие версии категорий производительности ASP.NET.

Универсальные счетчики производительности ASP.NET включают следующие категории счетчиков производительности:  «ASP.NET» и «Приложения ASP.NET».

Версии категорий производительности ASP.NET имеют следующие имена: «ASP.NET v2.0.50727» и «ASP.NET Apps v2.0.50727».

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

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

2.3.3 Winforms

Проблем не обнаружено.

2.3.4 Параллельное программирование

Проблем не обнаружено.

2.3.5 Managed Extensibility Framework

Проблем не обнаружено.

2.3.6 Entity Framework

Проблем не обнаружено.

2.3.7 LINQ to SQL

Проблем не обнаружено.

2.3.8 Windows Communication Foundation (WCF)

2.3.8.1 При запуске службы или сбросе IIS после обновления клиентского профиля возникает ошибка «Не удается найти указанный файл»

После обновления .NET Framework 4 с версии Beta 2 до версии RTM данная ошибка может возникнуть при запуске служб или перезапуске IIS:

«Системе не удается найти указанный файл»

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

Восстановите клиентский профиль .NET Framework в приложении «Программы» в панели управления.

2.3.9 Windows Presentation Foundation (WPF)

2.3.9.1 Windows Presentation Foundation (WPF) не поддерживается на ia64

Сборки WPF не устанавливаются или не поддерживаются на компьютерах ia64.

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

Не существует путей решения этой проблемы. WPF нельзя использовать на ia64.

2.3.10 Windows Workflow Foundation (WF)

2.3.10.1 Проверка рабочего процесса не поддерживает оператор sizeof

При проверке рабочего процесса, включающего оператор sizeof, вызывается исключение.

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

Не используйте оператор sizeof в рабочих процессах.

2.3.11 Клиентский профиль (продукт)

2.3.11.1 Клиентский профиль .NET Framework 4 не поддерживается на ia64

Клиентский профиль .NET Framework 4 не поддерживается на ia64.

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

При удалении .NET Framework 4 на ia64 обеспечьте удаление как полной версии, так и клиентского профиля.

3. См. также

              * Jeroen Frijters

 

© Корпорация Майкрософт (Microsoft Corp.), 2010. Все права защищены. 

Условия использования  | Товарные знаки  | Заявление о конфиденциальности