Objawy
Podczas generowania informacji o typie biblioteki za pomocą zestawu Microsoft.VisualStudio.Shell.Interop.dll w programie Microsoft Visual Studio 2008, może pojawić się jeden z następujących symptomów.
Symptom 1
Korzystając z narzędzia Regasm.exe do generowania i zarejestrować biblioteki typów, może zostać wyświetlony następujący komunikat o błędzie:
RegAsm: błąd RA000: Eksporter biblioteki typów napotkał błąd podczas przetwarzania "Microsoft.VisualStudio.Shell.Interop.SVsSolutionObject Microsoft.VisualStudio.Shell.Interop". Błąd: Wpisz "SVsSolutionObject" i "SVsSolution" należy wpisać oba mają ten sam UUID.
Symptom 2
Korzystając z narzędzia TlbExp.exe do generowania biblioteki typów, może zostać wyświetlony następujący komunikat o błędzie:
TlbExp: błąd TX0000: Eksporter biblioteki typów napotkał błąd podczas przetwarzania 'Microsoft.VisualStudio.Shell.Interop.SVsSolutionObject Microsoft.VisualStudio.Shell.Interop'. Błąd: Wpisz "SVsSolutionObject" i "SVsSolution" należy wpisać oba mają ten sam UUID.
Symptom 3
Pakiet Visual Studio 2008 implementuje kolekcji właściwości, ujawnianą przez właściwość EnvDTE.DTE.Properties . Jeśli zbiór jest członkiem obiekt, który używa typu z zestawu Microsoft.VisualStudio.Shell.Interop.dll , wykonywalnych języka (wspólnego CLR) nie tworzyć biblioteki typów w pamięci niezbędne dla zestawu. Na przykład następujące makro programu Visual Studio, który odwołuje się do właściwości EnvDTE.DTE.Properties zakończy się niepowodzeniem, a następnie zostanie wyświetlony komunikat o błędzie.
Dim proj As Project = DTE.Solution.Projects.Item(1) Dim props As Properties = proj.ConfigurationManager.ActiveConfiguration.Properties
Przyczyna
Ten problem występuje, ponieważ atrybut ImportedFromTypelib jest usuwany z zestawu Microsoft.VisualStudio.Shell.Interop.dll w programie Visual Studio 2008. Atrybut ImportedFromTypelib jest usuwany, ponieważ ten zestaw nie ma skojarzonego typu biblioteki. W związku z tym ImportedFromTypelib atrybutu powoduje błędy, gdy próbuje znaleźć bibliotekę programu skojarzonego typu CLR.
Ponieważ atrybut ImportedFromTypelib został usunięty w programie Visual Studio 2008, CLR nie można skonstruować biblioteki typów w pamięci niezbędne dla zestawu Microsoft.VisualStudio.Shell.Interop.dll . Ten błąd jest spowodowany typu zduplikowane identyfikatory GUID.
Rozwiązanie
Informacje o poprawce
Obsługiwana poprawka jest udostępniana przez firmę Microsoft. Jednak ta poprawka jest przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Tylko w systemach, których dotyczy ten problem, należy zastosować tę poprawkę. Ta poprawka może być wciąż w fazie testowania. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następną aktualizację oprogramowania zawierającą tę poprawkę.
Aby pobrać tę poprawkę z galerii kodów MSDN, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://code.msdn.microsoft.com/KB946308
Uwaga Galerii kodów MSDN zawiera listę języków, dla których dostępna jest poprawka. Jeśli na liście język nie jest widoczny, to dlatego stronie resource galerię kodu nie jest dostępna dla danego języka.
Uwaga Jeśli wystąpią dodatkowe błędy lub konieczność rozwiązania problemu, być może trzeba będzie utworzyć osobne zlecenie usługi. Zwykłe koszty obsługi będą zastosowane do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej poprawki. Aby uzyskać pełną listę numerów telefonów pomocy technicznej i obsługi klienta firmy Microsoft lub utworzyć osobne zlecenie usługi, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://support.microsoft.com/contactus/?ws=support
Wymagania wstępne
Musi mieć program Visual Studio 2008, aby zastosować tę poprawkę.
Wymagania dotyczące ponownego uruchomienia
Nie musisz ponownie uruchomiać komputera po zastosowaniu tej poprawki.
Informacje dotyczące zastępowania poprawek
Ta poprawka nie zastępuje wcześniej wydanej poprawki.
Informacje o plikach
Wersja anglojęzyczna tej poprawki ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć z karty Strefa czasowa w aplecie Data i godzina w Panelu sterowania.
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Godzina |
Platforma |
---|---|---|---|---|---|
Microsoft.VisualStudio.Shell.Interop.dll |
7.10.6071.0 |
259152 |
07-Jan-2008 |
15:37 |
x86 |
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.
Więcej informacji
Ta poprawka oznacza wszystkie zduplikowane identyfikatory GUID, ustawiając wartość właściwości ComVisible na wartość false, aby generator biblioteki typu zignoruje zduplikowane identyfikatory GUID.
Aby uzyskać więcej informacji dotyczących terminologii aktualizacji oprogramowania, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft