Симптомы

При попытке создать сведения о библиотеке типов с помощью Microsoft.VisualStudio.Shell.Interop.dll сборки в Microsoft Visual Studio 2008, могут появиться следующие симптомы.

Проблема 1

При использовании служебной программы Regasm.exe для создания и регистрации библиотеки типов, может появиться следующее сообщение об ошибке:

RegAsm: ошибка RA000: программа экспорта библиотек типов обнаружила ошибку при обработке «Microsoft.VisualStudio.Shell.Interop.SVsSolutionObject Microsoft.VisualStudio.Shell.Interop». Ошибка: Введите «SVsSolutionObject» и «SVsSolution» имеют одинаковый идентификатор UUID.

Случай 2

При использовании программы TlbExp.exe для создания библиотеки типов, может появиться следующее сообщение об ошибке:

TlbExp: ошибка TX0000: программа экспорта библиотек типов обнаружила ошибку при обработке «Microsoft.VisualStudio.Shell.Interop.SVsSolutionObject Microsoft.VisualStudio.Shell.Interop». Ошибка: Введите «SVsSolutionObject» и «SVsSolution» имеют одинаковый идентификатор UUID.


Проблема 3

Пакет Visual Studio 2008 реализует набор свойств, доступного через свойство EnvDTE.DTE.Properties . Если коллекция является членом объекта, который использует тип из сборки Microsoft.VisualStudio.Shell.Interop.dll , общеязыковая среда выполнения (CLR) не создать библиотеку необходимых типов в памяти для сборки. Например следующий макрос Visual Studio, который ссылается на свойство EnvDTE.DTE.Properties не удастся, и затем вы получите сообщение об ошибке.

Dim proj As Project = DTE.Solution.Projects.Item(1)   Dim props As Properties = proj.ConfigurationManager.ActiveConfiguration.Properties

Причина

Эта проблема возникает, поскольку атрибут ImportedFromTypelib удаляется из Microsoft.VisualStudio.Shell.Interop.dll сборки в Visual Studio 2008. ImportedFromTypelib атрибут удаляется, поскольку эта сборка не связана библиотека типов. Таким образом атрибут ImportedFromTypelib вызывает сбои, когда среда CLR пытается обнаружить связана библиотека типов.


Так как атрибут ImportedFromTypelib был удален в Visual Studio 2008, среда CLR не удалось создать библиотеку необходимых типов в памяти для сборки Microsoft.VisualStudio.Shell.Interop.dll . Эта ошибка вызвана типа повторяющиеся идентификаторы GUID.

Решение

Сведения об исправлении



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

Чтобы загрузить это исправление из коллекции кода MSDN, посетите следующий веб-узел корпорации Майкрософт:

http://code.msdn.microsoft.com/KB946308
Примечание. Коллекции кода MSDN отображаются языки, для которых доступно исправление. Если в списке язык не отображается, это недоступности страница коллекции кода для этого языка.


Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Чтобы получить полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание, посетите следующий веб-сайт корпорации Майкрософт:

http://support.microsoft.com/contactus/?ws=support

Предварительные условия

Visual Studio 2008, для установки этого исправления необходимо иметь.

Необходимость перезагрузки

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

Сведения о замене исправлений

Это исправление не заменяет ранее выпущенные исправления.

Сведения о файлах

Английская версия данного исправления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, откройте вкладку Часовой пояс элемента Дата и время в панели управления.

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Microsoft.VisualStudio.Shell.Interop.dll

7.10.6071.0

259152

07-Jan-2008

15:37

x86

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".

Дополнительные сведения

Это исправление помечает повторяющиеся идентификаторы GUID, установив значение свойства ComVisible значение false, чтобы генератор библиотек типов будет игнорировать повторяющиеся идентификаторы GUID.

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

Описание 824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?

Что повлияло на вашу оценку?

Добавите что-нибудь? Это необязательно

Спасибо за ваш отзыв!

×