Ошибки visual studio 2012
Эта статья поможет устранить проблемы, возникающие при установке Microsoft Visual Studio 2012.
Исходная версия продукта: Visual Studio 2012 г.
Исходный номер базы знаний: 2872457
Симптомы
Чтобы обойти эти проблемы, попробуйте один или несколько из следующих методов.
0x80200010, 0x80072efe или 0x80072ee7 — проблема с подключением во время скачивания
Установите Visual Studio с помощью коммутатора layout или ISO-файла. Дополнительные сведения о том, как это сделать, см. в следующих статьях:
0x80070005 — отказано в доступе
Эта ошибка возникает, Visual Studio не удается получить доступ к одному или нескольким необходимым файлам установки. Эта ошибка может возникнуть по любой из следующих причин:
Внешний процесс, например антивирусная программа или антивредоносное приложение, заблокировал Visual Studio в то же время, когда Visual Studio пытается установить этот файл. Чтобы обойти эту проблему, обратитесь к системному администратору или другому ИТ-специалисту, чтобы убедиться, что Visual Studio не заблокированы этими процессами.
У пользователя, который пытается установить Visual Studio нет учетных данных администратора на компьютере. Для успешной Visual Studio необходимо войти в систему с правами администратора.
Разрешения на некоторые кусты реестра могут Visual Studio успешной установки. Дополнительные сведения см. в разделе "Устранение ошибок установки с помощью средства SubInACL для восстановления разрешений файла и реестра".
0x80070643 — кэш установки или ISO повреждены
Эта ошибка обычно возникает при повреждении файла, связанного с установкой. Эта ошибка может возникнуть при установке Visual Studio с помощью ISO или DVD-диска, записанного из ISO. Эта ошибка также может возникнуть во время восстановления Visual Studio.
Ошибка при установке из ISO или DVD-диска, записанного из ISO
Если вы используете ISO-файл для установки Visual Studio или цифровой видео-диск (DVD), который был записан из ISO-файла, ISO-файл может быть поврежден во время скачивания. Выполните приведенные ниже действия.
Скачайте и установите проверку целостности контрольной суммы файлов Майкрософт.
Чтобы использовать это средство, необходимо знать путь к ISO-файлу.
Во время установки средства вам будет предложено указать каталог, в котором будут извлечены файлы.
Каталог для последующего доступа. Например, можно извлечь файлы в расположение C:\TEMP\fciv .
В командной строке введите следующую команду и нажмите клавишу ВВОД:
В этой команде — это папка, в которую вы извлекли файлы, и путь к Visual Studio ISO-файла. Дополнительные сведения см . вReadMe.htm в каталоге извлечения.
Убедитесь, что значение алгоритма безопасного хэширования 1 (SHA-1), возвращаемое средством контрольной суммы файлов, соответствует ожидаемому значению. Чтобы определить ожидаемое значение, проверьте папку, в которую вы скачали ISO-файл.
Ожидаемое значение SHA-1 отличается для каждого источника загрузки.
Если вы скачали ISO-файл из MSDN, значение SHA-1 предоставляется в разделе "Сведения" для каждого ISO-файла.
Скачав ISO-файл из Центра загрузки , можно найти значение SHA-1, разверните раздел "Инструкции по установке" на странице продукта.
Если ожидаемое значение SHA-1 не соответствует значению, возвращаемой средством контрольных сумм файлов, ISO-файл поврежден. В этом случае удалите файл и скачайте его еще раз.
Если вы получили ISO-файл с DVD-диска, попробуйте скачать веб-установщик Visual Studio или ISO-файл из MSDN или Центра загрузки, а затем повторить установку.
Если вы приобрели DVD-диск в розничном магазине, вы также можете скачать Visual Studio с веб-сайта магазина, а затем использовать ключ лицензии, предоставленный вместе с DVD-диском, для активации Visual Studio. Для получения дополнительных сведений об этом процессе обратитесь в розничный магазин.
Ошибка при восстановлении
Если ошибка возникает при попытке восстановить Visual Studio, возможно, кэш установки поврежден. Чтобы восстановить кэш, выполните следующие действия.
Закройте Visual Studio.
Откройте командную строку с повышенными привилегиями. Для этого нажмите кнопку "Пуск ", введите командную строку в поле "Пуск ****", щелкните правой кнопкой мышиcmd.exeсписке результатов и выберите команду "Запуск от имени администратора".
В командной строке введите cd C:\ProgramData\Package Cache , а затем нажмите Ввод.
Чтобы очистить.msi и.cab из кэша, введите следующие команды в командной строке и нажмите клавишу ВВОД после каждой команды:
Повторите попытку, чтобы Visual Studio.
Веб-развертывание 3.0 — предупреждение сертификата или не удается найти ошибку источника пакета
Предупреждение, связанное с WebDeploy 3.0, может вызвать два типа проблем:
Microsoft Web Deploy 3.0
Необходимый сертификат не находится в пределах срока действия при проверке на соответствие текущим системным часам или метке времени в подписанного файла.
Чтобы обойти эти проблемы и успешно установить веб-развертывание 3.0, попробуйте использовать любой из следующих подходов:
- Получите обновленный установщик, опубликованный в выбранном канале распространения (например , MSDN).
- Установите последнюю версию Visual Studio обновления.
Дополнительные сведения
Если в этой статье не рассматривается проблема Visual Studio установки, дополнительные сведения см. на Visual Studio на форуме по установке и установке.
Кроме того, вы можете опубликовать файл Visual Studio установки на форуме Visual Studio установки и microsoft Community для дальнейшей поддержки.
Переносной библиотеки классов проблемы могут возникнуть после установки Microsoft Visual Studio 2012 обновление 2. В данной статье описываются эти проблемы и возможные пути их устранения.
Проблема 1
Симптомы
«System.Type» не содержит определение для 'Сборка' и 'Сборка', принимающий первый аргумент типа 'System.Type» метод расширения может быть найден (пропущена с помощью директивы или ссылка на сборку?)
«Сборка» не является членом «System.Type»
Примечание. Эта ошибка возникает при использовании Microsoft Visual Basic.
Проблема связана с одной из следующих платформ предназначен в проекте:
Временное решение
Добавьте следующие директивы using:
Найдите следующий код:
Замените код на следующий код:
Ниже приведен пример этой проблемы:
Visual Basic
Добавьте следующие директивы using:
Найдите следующий код:
Замените код на следующий код:
Ниже приведен пример этой проблемы:
Проблема 2
Симптомы
Невозможно неявным образом преобразовать тип «System.Net.HttpStatusCode» в "System.Net.HttpStatusCode [%programfiles%\Reference Assemblies\Microsoft\Framework\. NETPortable\v4.5\Profile\Profile78\System.Net.Primitives.dll] "
Обратите внимание, что проблема связана с одной из следующих платформ предназначен в проекте:
Причина
Эта проблема возникает, поскольку обновления 2 Visual Studio 2012 был установлен после установки Windows Phone Software Development Kit (SDK) 8.0. Таким образом были удалены следующие файлы:
Временное решение
Чтобы устранить эту проблему, запустите программу восстановления Visual Studio 2012. Чтобы сделать это, выполните следующие действия.
Щелкните правой кнопкой мыши версию Visual Studio 2012, установки и нажмите кнопку Изменить.
Когда откроется мастер установки Visual Studio 2012, нажмите кнопку " восстановить ".
Примечание. Если настроить новую среду разработчика, чтобы избежать этой проблемы, следует установить Visual Studio 2012 обновление 2 перед установкой пакета SDK Windows Phone 8.0.
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".
Эта статья поможет устранить проблемы, возникающие при установке Microsoft Visual Studio 2012.
Исходная версия продукта: Visual Studio 2012 г.
Исходный номер базы знаний: 2872457
Симптомы
Чтобы обойти эти проблемы, попробуйте один или несколько из следующих методов.
0x80200010, 0x80072efe или 0x80072ee7 — проблема с подключением во время скачивания
Установите Visual Studio с помощью коммутатора layout или ISO-файла. Дополнительные сведения о том, как это сделать, см. в следующих статьях:
0x80070005 — отказано в доступе
Эта ошибка возникает, Visual Studio не удается получить доступ к одному или нескольким необходимым файлам установки. Эта ошибка может возникнуть по любой из следующих причин:
Внешний процесс, например антивирусная программа или антивредоносное приложение, заблокировал Visual Studio в то же время, когда Visual Studio пытается установить этот файл. Чтобы обойти эту проблему, обратитесь к системному администратору или другому ИТ-специалисту, чтобы убедиться, что Visual Studio не заблокированы этими процессами.
У пользователя, который пытается установить Visual Studio нет учетных данных администратора на компьютере. Для успешной Visual Studio необходимо войти в систему с правами администратора.
Разрешения на некоторые кусты реестра могут Visual Studio успешной установки. Дополнительные сведения см. в разделе "Устранение ошибок установки с помощью средства SubInACL для восстановления разрешений файла и реестра".
0x80070643 — кэш установки или ISO повреждены
Эта ошибка обычно возникает при повреждении файла, связанного с установкой. Эта ошибка может возникнуть при установке Visual Studio с помощью ISO или DVD-диска, записанного из ISO. Эта ошибка также может возникнуть во время восстановления Visual Studio.
Ошибка при установке из ISO или DVD-диска, записанного из ISO
Если вы используете ISO-файл для установки Visual Studio или цифровой видео-диск (DVD), который был записан из ISO-файла, ISO-файл может быть поврежден во время скачивания. Выполните приведенные ниже действия.
Скачайте и установите проверку целостности контрольной суммы файлов Майкрософт.
Чтобы использовать это средство, необходимо знать путь к ISO-файлу.
Во время установки средства вам будет предложено указать каталог, в котором будут извлечены файлы.
Каталог для последующего доступа. Например, можно извлечь файлы в расположение C:\TEMP\fciv .
В командной строке введите следующую команду и нажмите клавишу ВВОД:
В этой команде — это папка, в которую вы извлекли файлы, и путь к Visual Studio ISO-файла. Дополнительные сведения см . вReadMe.htm в каталоге извлечения.
Убедитесь, что значение алгоритма безопасного хэширования 1 (SHA-1), возвращаемое средством контрольной суммы файлов, соответствует ожидаемому значению. Чтобы определить ожидаемое значение, проверьте папку, в которую вы скачали ISO-файл.
Ожидаемое значение SHA-1 отличается для каждого источника загрузки.
Если вы скачали ISO-файл из MSDN, значение SHA-1 предоставляется в разделе "Сведения" для каждого ISO-файла.
Скачав ISO-файл из Центра загрузки , можно найти значение SHA-1, разверните раздел "Инструкции по установке" на странице продукта.
Если ожидаемое значение SHA-1 не соответствует значению, возвращаемой средством контрольных сумм файлов, ISO-файл поврежден. В этом случае удалите файл и скачайте его еще раз.
Если вы получили ISO-файл с DVD-диска, попробуйте скачать веб-установщик Visual Studio или ISO-файл из MSDN или Центра загрузки, а затем повторить установку.
Если вы приобрели DVD-диск в розничном магазине, вы также можете скачать Visual Studio с веб-сайта магазина, а затем использовать ключ лицензии, предоставленный вместе с DVD-диском, для активации Visual Studio. Для получения дополнительных сведений об этом процессе обратитесь в розничный магазин.
Ошибка при восстановлении
Если ошибка возникает при попытке восстановить Visual Studio, возможно, кэш установки поврежден. Чтобы восстановить кэш, выполните следующие действия.
Закройте Visual Studio.
Откройте командную строку с повышенными привилегиями. Для этого нажмите кнопку "Пуск ", введите командную строку в поле "Пуск ****", щелкните правой кнопкой мышиcmd.exeсписке результатов и выберите команду "Запуск от имени администратора".
В командной строке введите cd C:\ProgramData\Package Cache , а затем нажмите Ввод.
Чтобы очистить.msi и.cab из кэша, введите следующие команды в командной строке и нажмите клавишу ВВОД после каждой команды:
Повторите попытку, чтобы Visual Studio.
Веб-развертывание 3.0 — предупреждение сертификата или не удается найти ошибку источника пакета
Предупреждение, связанное с WebDeploy 3.0, может вызвать два типа проблем:
Microsoft Web Deploy 3.0
Необходимый сертификат не находится в пределах срока действия при проверке на соответствие текущим системным часам или метке времени в подписанного файла.
Чтобы обойти эти проблемы и успешно установить веб-развертывание 3.0, попробуйте использовать любой из следующих подходов:
- Получите обновленный установщик, опубликованный в выбранном канале распространения (например , MSDN).
- Установите последнюю версию Visual Studio обновления.
Дополнительные сведения
Если в этой статье не рассматривается проблема Visual Studio установки, дополнительные сведения см. на Visual Studio на форуме по установке и установке.
Кроме того, вы можете опубликовать файл Visual Studio установки на форуме Visual Studio установки и microsoft Community для дальнейшей поддержки.
В этой статье Visual Studio 2012 с обновлением 4, а также перечислены новые функции и исправленные проблемы.
Исходная версия продукта: Visual Studio 2012 г.
Исходный номер базы знаний: 2872520
Введение
Корпорация Майкрософт Visual Studio 2012 с обновлением 4 (Visual Studio 2012.4) 13 ноября 2013 г.
Поддержка Visual Studio 2012 предоставляется только для текущего обновления, которое считается пакетом обновления Visual Studio 2012, и для версии RTM Visual Studio 2012, выпущенной в августе 2012 г. Дополнительные сведения см. в служба поддержки Майкрософт жизненного цикла.
Получение Visual Studio 2012 с обновлением 4
Visual Studio 2012 — это накопительные выпуски, включаемые новые функции и исправления, которые были доставлены в обзоре обновлений Visual Studio 2012. По следующей ссылке для скачивания вы можете скачать последнее обновление:
Установка Visual Studio 2012 с обновлением 4
Инструкции по установке Visual Studio продуктов см. в следующих статьях:
Это обновление относится к Visual Studio и Team Foundation Server (TFS). Visual Studio и механизмы установки TFS отличаются. Обновление Visual Studio — это обновление, которое устанавливается поверх того, что уже установлено на компьютере. Обновление TFS — это полный макет, который заменяет все, что установлено на компьютере. Прежде чем пытаться применить обновление TFS, убедитесь, что у вас есть полная резервная копия текущих баз данных. Если установка обновления TFS завершается сбоем, вы не сможете перезапустить обновление или выполнить откат до более ранней версии TFS без восстановления.
Так Visual Studio 2012 с обновлением 4 является активным, применяются следующие пути обновления.
Поддерживаемые обновления
- TFS 2012 с обновлением 4 RC 4 до TFS 2012 с обновлением 4 RTM
- TFS 2012 с обновлением 4 RTM до TFS 2013 RTM
Неподдерживаемые обновления
- TFS 2012 с обновлением 4 версии-кандидата 4 до TFS 2013
Новые улучшения технологий и исправленные проблемы в Visual Studio 2012 с обновлением 4
В следующих разделах приведены улучшения и исправленные проблемы в Visual Studio 2012 с обновлением 4.
Если не указано иное, связанные элементы будут перенаправляемы на веб-Подключение Microsoft.
Team Foundation Server
Администрирование и операции
Предположим, что вы устанавливаете сервер уровня приложений Team Foundation Server (TFS) 2012 на компьютере, на котором не установлен Microsoft SQL Server сервера. Вы не настраиваете Microsoft SQL Server Reporting Services. В этом случае невозможно обновить сервер уровня приложения.
Конфигурация запланированных резервных копий больше не блокируется, если служба SQL Server для TFS 2012 работает как виртуальная учетная запись (например, NT Service\MSSQLSERVER).
В TFS 2012 с обновлением 2 и 3 транзакционные резервные копии записывают сбой при попытке запуска во время выполнения полной или разностной резервной копии.
Запланированные резервные копии больше не выполняют транзакционные резервные копии, если выполняется полная или разностная резервная копия. Вместо этого задание будет приостановлено до завершения выполнения другой резервной копии.
Обновления TFS на месте теперь поддерживают сохраняемость конфигурации и параметров вместе с заголовками узлов. Обновления TFS на месте заносят в журнал ошибку, если процесс соответствует недопустимому заголовку узла.
При обновлении базы данных конфигурации до TFS 2012 с обновлением 3 и присоединении коллекции TFS к обновленной базе данных конфигурации членство и разрешения могут быть потеряны.
TF20507: строковый аргумент содержит недопустимый символ: u0009.
При присоединении коллекции TFS к обновленном серверу TFS происходит непредвиденный сбой базы данных и обновление коллекции TFS завершается сбоем.
Предположим, что вы используете пользователя для перемещения доменов, а затем отсоедините и присоедините коллекцию к существующей базе данных конфигурации. При сохранении избранного в TFS невозможно сохранить избранное.
Предположим, что вы используете пользователя для обновления TFS-сервера до TFS 2012 с обновлением 3 после предыдущей миграции домена и изменения отображаемого имени. Пользователь не будет активен в отслеживании рабочих элементов.
Предположим, что существует два удостоверения, которые используют один и тот же домен и имя учетной записи. Например: domain1\user1. В этом случае будет активирован неправильный пользователь, а пользователь domain1\user1 не сможет получить доступ к коллекциям TFS.
Если вы используете турецкий языковой стандарт на компьютере и отправляете встроенный образ в рабочий элемент в Visual Studio 2012, другие клиенты не могут просматривать изображение.
Если у вас есть сервер TFS 2012, настроенный для синхронизации с Project Server, возможно, не удастся изменить порядок элементов невыполненной работы.
Предположим, что вы создаете привратный возврат для определения сборки с помощью шаблона обновления на сервере TFS 2010. Вы обновляете сервер TFS 2010 до сервера TFS 2012, а затем используете обновленный сервер TFS вместе с агентами сборки TFS 2010. В этом случае сборка завершается сбоем на агентах сборки TFS 2010 при выполнении действия при возврате.
Предположим, что определение сборки создается с помощью шаблона по умолчанию на сервере TFS 2010. При обновлении сервера с TFS 2010 до TFS 2012 определение сборки будет изменено для запуска с новым отправленным шаблоном обновления.
Zip-файл журналов не создан, так как при успешном завершении сборки возникает предупреждение о сбое операции архивации.
При работе с рабочим процессом сборки IndexSources производительность низкая.
Предположим, что запланированная сборка выполняется в течение длительного времени, а затем сборка останавливается вручную на следующий день. При повторном добавлении сборки в очередь вручную она отключает следующую запланированную сборку.
Когда вы определяете сборку с помощью шаблона обновления в контейнере файлов, после того как вы ставите сборку в очередь, сборка запускается, но никогда не завершается.
Сборка может зависнуть на последнем шаге и никогда не завершиться из-за сбоя предыдущих сборок.
Отслеживание рабочих элементов
При использовании Internet Explorer для просмотра любой страницы, на которой используется хранилище рабочих элементов, задержка в 60 секунд. Эта проблема возникает, если коллекция содержит более 175 командных проектов.
Функции создания или изменения рабочих элементов перестают работать, если команда связана с несколькими путями к областям.
Функции перемещения элементов на канбан-доске не работают в некоторых средах со смешанными языками и региональными параметрами.
Когда запрос сохраняется вместе с полем, назначенным полю, содержащее константу, пользователи не будут видеть правильные результаты запроса после сохранения и выполнения запроса, если константа также является отображаемой именем группы TFS.
Предположим, что у вас есть подключаемый модуль сервера TFS 2012, который вызывает исключение (например, во время сохранения рабочего элемента), пользователю отображается универсальное исключение AJAX, а не исключение, вызванное подключаемым модулем.
Пользователь TFS из группы, у которой нет разрешения на запись рабочего элемента в области, может изменить область рабочего элемента на другую область, в которой у него есть разрешение на запись.
TF400013: произошла непредвиденная ошибка базы данных. Обратитесь к Team Foundation Server администратору. (Код: 208)
Повышение производительности в Веб-доступе для типов рабочих элементов с множеством допустимых значений полей.
При попытке подключиться к серверу TFS 2012 с помощью веб-браузера вместе с непредвиденной строкой агента пользователя вместо запрашиваемой страницы отображается внутренняя страница ошибки. Кроме того, вы не можете получить доступ к страницам веб-доступа TFS.
TF237165: Team Foundation не удалось обновить рабочий элемент из-за ошибки проверки на сервере. Это может произойти из-за того, что тип рабочего элемента был изменен или уничтожен, или у вас нет разрешения на обновление рабочего элемента.
Windows Forms
Коллекция была изменена; Операция перечисления может не выполняться
LightSwitch
После установки Visual Studio 2012 с обновлением 3 ни одно из следующих приложений не отображает локализованные строки. Вместо этого в этих приложениях отображаются строки на английском языке.
Предположим, что вы открываете проект, содержащий экран вместе с множеством элементов даты. Кроме того, каждый элемент даты имеет набор отображаемого имени. В этом случае конструктор экрана перестает отвечать на запросы при попытке выполнить в нем операцию.
Отладчик
Отладчик иногда выполняет шаги к неправильной строке при отладке машинного кода.
Позволяет отладчику подключать удаленный веб-сайт, работающий в Microsoft Azure.
Visual Studio IDE
Visual Studio 2012 аварийно завершается случайным образом при установке средства Telerik Justcode или Codestore.
Project отчет о беседе неправильно отформатирован в Предварительная версия Windows 8.1.
Visual Studio 2012 может завершиться сбоем при загрузке некоторых решений.
Низкая производительность при прокрутке исходной кодовой страницы, если включен параметр "Просмотр пробелов".
В длительном сеансе Visual Studio, когда вы открываете и закрываете документы, окна инструментов и т. д., Visual Studio может завершиться сбоем при определенных обстоятельствах.
Windows разработки
Предположим, что Visual Studio 2012 с обновлением 3 установлен на Windows 8 компьютера. Вы обновляете операционную систему до Windows 8.1 или более поздней версии. В этом случае при запуске симулятора Windows диалоговое окно блокировки. Кроме того, вы по-прежнему не можете запустить симулятор Windows после выполнения инструкций в диалоговом окне.
Профилировщик
- Визуализатор параллелизма для 64-разрядных приложений не работает в 64-разрядной Windows 8.1 операционной системе.
- При профилировании приложений на Предварительная версия Windows 8.1 средства профилирования имеют проблемы при сборе и отображении символьной информации.
Блок Catch может быть неправильно удален оптимизатором C++, если блок try вызывает функцию, существующую во внешней библиотеке динамической компоновки (DLL).
Распространяемый пакет Visual C++ 2012 удаляется при удалении Visual Studio 2012.
Распространяемые файлы начального загрузчика Visual C++ (product.xml) отсутствуют в Visual Studio 2012 года.
Неустранимая ошибка LNK1318: непредвиденная ошибка PDB
При создании больших приложений вместе с параметром /LTCG (создание кода во время компоновки) компоновщик периодически аварийно завершает работу.
Внутренняя ошибка компилятора может возникнуть при компиляции класса C++, который содержит множество виртуальных функций вместе с параметром /LTCG (создание кода во время компоновки).
Переменные-члены типа неправильно визуализируются и отображаются при отладке приложения Visual C++.
Неправильное создание кода компьютера для x64 может произойти, если включен параметр оптимизации.
Intellitrace
Visual Studio Ultimate 2012 теперь может открывать файлы журнала IntelliTrace, созданные Microsoft Monitoring Agent.
Добавляет поддержку переносимых библиотек классов в NuGet.
Средства Entity Framework
Не удалось найти процессор с именем T4VSHost для директивы CleanupBehavior. Преобразование не будет выполняться. Возникло следующее исключение:
System.IO.FileNotFoundException: не удалось разрешить тип для процессора директив T4VSHost.
Телефон средства
Windows Phone 8 эмуляторов GDR2, установленных с пакетом SDK Windows Phone 8 GDR2, недоступны в качестве целевых объектов развертывания для собственных приложений Windows Phone 8.0.
Windows Phone модульных тестов 8.0 не удается запустить на эмуляторах GDR2 Windows Phone 8, установленных с пакетом SDK Windows Phone 8 GDR2.
Добавлена поддержка Windows Phone 8 эмуляторов GDR3.
Локализация
Этот файл журнала был создан в более новой версии Windows и не может быть открыт в Visual Studio 2012 г.
Visual Studio тестирования
Диспетчер тестов и лабораторий
Get-MachineConfig команды let не существует
Чтобы использовать эту среду, необходимо установить совместимый агент тестирования на всех компьютерах среды. Щелкните "Установить агенты", чтобы выполнить эту задачу.
В рабочем процессе build-Deploy-Test (BDT) выполняется большое количество вызовов веб-службы для обновления тестового запуска в размещенной службе. Это приводит к возникновению множества ненужных вызовов веб-службы.
Вы не можете записывать или воспроизводить действия, связанные с навигацией на странице в Internet Explorer 10 или в Internet Explorer 11 вместе с установленными последними обновлениями GDR Internet Explorer.
Вы не можете воспроизвести сценарий на странице вместе с AJAX, как ожидалось, воспроизведение не завершается. Например, если щелкнуть "Вложить файл", выбрать записанные шаги для файла и воспроизведения, отправка файла начнется, но никогда не завершится.
Невозможно записать веб-тест производительности в Internet Explorer 11, так как режим расширенной защиты включен по умолчанию в Internet Explorer 11.
Закодированных записей тестов пользовательского интерфейса и действий
Вы не можете записывать или воспроизводить действия, включающие навигацию на странице в Internet Explorer 10 или в Internet Explorer 11 при установке обновления Internet Explorer.
Диспетчер тестовых вариантов
Ошибка возникает при публикации результата теста в среде TFS 2012 с помощью MSTest 2010.
Предположим, вы связываете сборку с планом тестирования. При запуске тестового случая из веб-доступа тест выполняется на вкладке "Анализ тестового запуска" без номера сборки.
Не удалось выбрать настраиваемые длинные текстовые поля в веб-сетках Microsoft Test Manager (MTM) 2012 и TCM.
Microsoft Test Manager
- При создании лабораторной среды на основе SCVMM в Microsoft Test Manager ключ продукта не требуется во время Sysprep (подготовка системы) для некоторых операционных систем (например, Windows Server 2012 R2). Однако вам по-прежнему будет предложено ввести ключ, поэтому не удается продолжить.
Диагностика графики
Графический отладчик может аварийно завершить работу при открытии файла журнала графики (VSGLOG), если шейдер слишком велик.
Добавлена поддержка обратной совместимости для Visual Studio 2012 в Windows отладки графики.
Веб-инструменты
- Инспектор страниц не работает на компьютере, на котором установлен Internet Explorer 11.
- WebDeploy 3.5 поставляется вместе с Visual Studio 2012 с обновлением 4.
Средства диагностики
Веб-проект с элементом проекта без кода (например, web.config или ASMX) не активирует политику проверки анализа кода.
Дополнительные сведения
Обновления для других продуктов в семействе Visual Studio можно найти на сайте загрузки Майкрософт для Visual Studio.
Требования
Этот раздел относится только к Visual Studio клиента. TFS имеет разные требования к системе (ознакомьтесь с Visual Studio Team Foundation Server 2012 с обновлением 4 и Visual Studio Team Foundation Server Express 2012 с обновлением 4 скачать страницы для получения дополнительных сведений), и может потребоваться до двух перезапусков в зависимости от состояния компьютера при установке обновления.
Требование перезапуска
После установки этого пакета не нужно перезапускать компьютер.
Поддерживаемые языки
Visual Studio 2012 с обновлением 4 предоставляет обновления для следующих версий:
- китайский (упрощенное письмо);
- китайский (традиционный);
- чешский;
- Английский
- французский;
- немецкий;
- итальянский;
- японский;
- Корейский
- русский;
- польский;
- португальский (Бразилия);
- Испанский
- турецкий;
Поддерживаемые архитектуры
- 32-разрядная версия (x86)
- 64-разрядная (x64) (WOW)
Требования к оборудованию
- 1,6 ГГц или более быстрый процессор
- 1 ГБ ОЗУ (1,5 ГБ, если вы работаете на виртуальной машине)
- 1 ГБ доступного места на жестком диске
- Жесткий диск 5400 RPM
- Видеотранслпоток DirectX с поддержкой девяти, работающий в версии 1024 × 768 или более поздней версии.
Требования к программному обеспечению
Чтобы применить это обновление, необходимо установить одну из поддерживаемых Visual Studio 2012, перечисленных в разделе " Область применения".
Поддержка Visual Studio 2012 с обновлением 4
Поддержка неформальных сообществ Visual Studio 2012 с обновлением 4 доступна на форумах Microsoft Developer Network (MSDN).
В этой статье будет рассмотрен ряд багов в реализации стандарта С++11, которые имелись в Visual Studio 2012 и были исправлены в Visual Studio 2013. Таким образом мы теперь можем использовать С++11 так, как в теории предполагается его использовать. Если для обхода багов VS2012 вам пришлось понаписывать «костылей» — теперь их можно убрать.
К сожалению, не все баги были исправлены, кое-что мигрировало из VS2012 в VS2013, а также появились новые баги. Под катом вы найдёте детальный разбор текущего состояния дел.
Больше нет лимита на количество типов в variadic templates
Visual Studio 2013 поддерживает variadic templates в полном объёме, вещи вроде std::function или make_shared больше не имеют лимита на количество аргументов, которые они могут принять. В Visual Studio 2012 этот лимит существовал и был равен 5 (пяти).
Исправлены баги, касающиеся вывода типов
auto терял спецификатор выравнивания
Если вы использовали auto для объявления переменной типа, определяемого выражением __declspec(align(…)), align обрабатывался неверно в VS2012, что приводило к неправильному расположению данных в памяти и случайным крешам.
decltype можно было использовать вместо типа не во всех случаях
Несмотря на то, что тип, определяемый через decltype предположительно должно быть возможно использовать везде, где можно использовать обычные типы, VS2012 не позволяла написать, к примеру, вот такой код:
declval приводил к ошибкам компиляции
Некоторый корректный согласно стандарту С++11 код не компилировался в VS2012 из-за неверной интерпретации declval.
Предположим, вы ходите объявить шаблон is_comparable:
Это не сработает в VS2012, поскольку declval не поймёт, что такое T.
Исправлены баги в умных указателях
Использование лямбда-функции в качестве custom deleter ломало преобразование к типу bool
Если вы использовали лямбда-функции для определение того, что должно случиться при удалении умного указателя, вы не могли использовать этот указатель в контексте преобразование его к типу bool:
Вызов unique_ptr::reset мог привести к двойному удалению
Порядок операций в методе reset не соответствовал порядку, описываему стандартом. Это могло приводить к двойному удалению объекта. Пример:
Вызов метода reset запускает деструктор SelfReferential, который снова вызывает reset. Двойное удаление происходит потому, что метод reset сбрасывает указатель на подконтрольный объект после его удаления, а не до него.
shared_ptr, protected-деструктор и nullptr
Вы не могли создать shared_ptr для класса с protected-деструктором, инициализировав его nullptr:
В Visual Studio 2013 этот код компилируется, как и предполагается стандартом.
Исправлены баги в библиотеке type traits
Неправильная работа is_function
is_function возвращает неверный результат, если переданная ей функция содержит слишком много аргументов:
Также результат ошибочен для функций с calling convention, отличным от дефолтного
Аналогично, is_member_function_pointer не удаётся верно вернуть результат для методов с явно заданным calling convention
is_member_pointer, наоборот, не верно работает с __cdecl-методом:
is_object был определен через is_function, таким образом вышеуказанная ошибка с большим количеством аргументом функции распространяется и на него, приводя к неверному определению объекта.
is_scalar не распознавал nullptr_t
is_scalar
is_pod неверно понимал void
is_pod ошибочно возвращал true в VS2012, хотя void не является POD-типом
is_constructible возвращал неверные результаты для ссылок
is_constructible вёл себя неверно со ссылочными типами, возвращая false для вещей типа:
Баги в alignment_of и aligned_union
alignment_of в VS2012 генерирует generatee a ложные предупреждения о недоступном деструкторе, если вы используете его на типе с приватным деструктором.
Кроме того, aligned_union работал неверно в VS2012:
aligned_union должен иметь статический член alignment_value, содержащий значения выравнивания для шаблонных аргументов T1, …, Tn. Это, однако, не было реализовано в VS2012.
common_type ошибочно возвращает void
Вместо ошибки компиляции, как это предполагается по стандарту, common_type возвращал void в VS2012:
common_type также возвращает void ошибочно для пользовательских типов, когда преобразование *is* возможно:
result_of не компилируется в некоторых случаях
Если вы решите использовать move-only аргумент с этим шаблоном в VS2012, у вас будут неприятности:
Исправлены ошибки в STL-контейнерах и алгоритмах
minmax_element не работал
Стандартом определяется две версии этого алгоритма:
Они должны возвращать (first, last), где first указывает на наименьший элемент, а last — на наибольший, или make_pair(first, first) — если диапазон пуст. В VS2012, однако, вместо этого возвращалось make_pair(min_element(first, last), max_element(first, last)).
Контейнеры ошибочно требовали от типов элементов обязательного наличия move-конструкторов
Все move-конструкторы контейнеров ошибочно требовали от типа элемента наличия move-конструктора.
Аналогично, операторы доступа к элементам map и unordered_map требовали обязательного наличия move-конструкторов:
Исправлены ошибки, связанные с параллелизацией и асинхронностью
shared_future создаваемая из future
Ещё один баг в VS2012 был в реализации future и shared_future для ссылочных типов и void. Этот баг позволял следующему коду скомпилироваться (что явно ошибочно, поскольку future — это move-only тип):
Утечка памяти в классе thread
Баг, который мог приводить к утечкам памяти при завершении программы. Это случалось потому, что поток создавал, но никогда не уничтожал объект at_thread_exit_mutex, а так же некоторые внутренние структуры данных.
Бесполезные функции wait в future, полученной от promise
Из-за бага в Visual Studio 2012, функции wait_for и wait_until таких future-объетов возвращали future_status::deferred вместо of future_status::timeout or future_status::ready, делая эти методы бесполезными.
atomic-шаблон не мог быть определен для типа без конструктора по-умолчанию
atomics работали медленно
В VS2012 atomic-операции иногда перебарщивали с проверками целостности (делали их там, где это не обязательно). Хотя это и не нарушает стандарта, код работал медленнее, чем мог бы. VS2013 имеет совершенно новую реализацию atomic-операций, которая работает значительно быстрее.
Исправлены ошибки в генерации случайных чисел
В дебаг-режиме mersenne_twister_engine генерировал ошибочный assert, если вы пытались инициализировать его нулём.
Потоковый оператор для subtract_with_carry_engine содержал ошибку, приводящую к неопределенному поведению.
independent_bits_engine и shuffle_order_engine не инициализировали внутренние члены в своих конструкторах перемещения, что иногда приводило к бесконечным циклам.
Исправлены ошибки в библиотеке рациональной арифметики
В библиотеке было найдено несколько багов:
Вы не могли написать следующий код в VS2012
Вместо этого вы были вынуждены обращаться к числителю и знаменателю через их тип:
Ещё одна ошибка была в реализации сравнения.
Таким образом в VS2012 вы должны были быть уверенными, что знаменатель, переданный в шаблон — всегда положительное число.
Ещё один баг был в том, что ratio_equal правильно определял неравенство, но не всегда правильно определял равенство:
И вот ещё одни баг. Когда у вас есть ratio, если D — ноль или число, превышающее intmax_t — ваша программ однозначно невалидна. Visual Studio 2012, однако, не определяла такие ошибки:
В реализации Visual Studio, static_assert утверждения, которые должны бы были срабатывать в этих ситуациях, размещены в конструкторе ratio. Но конструктор срабатывает только при создании объекта класса, а в примерах выше этого не происходит.
Аналогично, некоторый код компилируется, хотя и не должен:
Другие ошибки в Visual Studio 2013
В tuple_element не делается проверка выхода за границы
Неверное преобразование к bool для std::function
В некоторых случаях преобразование могло давать неверный результат в VS2012, поскольку объект не был пуст, когда по идее должен быть им:
Присваивание для rvalues
Visual Studio 2012 не запрещает присваивание для rvalues, как это определено стандартом:
align() неверно обновляет out-параметры
Функция корректно рассчитывает возвращаемый адрес, но неверно обновляет два последних параметра:
time_put не работает с wchar_t
time_put не генерирует вывода когда инициализирован wchar_t.
Заключение
Полный список изменений в VS2013 (не только в C++11) вы можете прочесть вот в этом посте, написанном Stephan Lavavej.
В дополнение к реализации новых возможностей С++11, в Visual Studio 2013 исправлено множество багов в существующей функциональности компилятора и библиотек, от некорректных ошибок компилятора до утечек памяти и низкой производительности. Это однозначно положительная динамика.
К сожалению, VS2013 всё ещё содержит некоторое количество багов, доставшееся по наследству от VS2012 и добавляет некоторые новые. Обо всём этом я сейчас пишу книгу, она ещё не закончена, но кое-что вы можете прочесть уже сейчас.
Читайте также: