BŁĄD: Komunikat o błędzie „Attempt to Access the Method Failed” przy próbie odwołania się do niewłaściwej biblioteki Microsoft Forms 2.0 Object Library

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 824009 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Symptomy

W projekcie programu Visual Studio .NET zawierającym odwołanie do biblioteki Microsoft Forms 2.0 Object Library może pojawić się komunikat o błędzie podobny do następującego:
System.MethodAccessException: "Attempt to access the method failed." (System.MethodAccessException: „Próba dostępu do metody nie powiodła się”.)

Przyczyna

Jeśli w celu dodania odwołania do biblioteki Microsoft Forms 2.0 Object Library jest używane okno dialogowe Add Reference (Dodawanie odwołania), można zauważyć dwie nowe wpisy dla biblioteki Microsoft Forms 2.0 Object Library. Oba te wpisy odwołują się do pliku FM20.dll.

Należy wybrać z listy pierwszy wpis Microsoft Forms 2.0 Object Library, ponieważ to jest odwołanie do podstawowego zestawu międzyoperacyjnego (PIA). Jeśli zostanie wybrany drugi wpis Microsoft Forms 2.0 Object Library, to możliwe, że aplikacje nie będzie się zachowywać zgodnie z oczekiwaniami.

Rozwiązanie

Aby rozwiązać ten problem, wykonaj następujące kroki:
  1. W oknie Solution Explorer kliknij prawym przyciskiem myszy odwołanie MSForms, a następnie kliknij polecenie Remove (Usuń).
  2. W oknie Solution Explorer kliknij prawym przyciskiem myszy pozycję References (Odwołania), a następnie kliknij polecenie Add Reference (Dodaj odwołanie).

    Pojawi się okno dialogowe Add Reference (Dodawanie odwołania).
  3. W oknie dialogowym Add Reference kliknij kartę COM.
  4. Na liście składników kliknij pierwszy wpis o nazwie Microsoft Forms 2.0 Object Library.

    Uwaga To powinna być wersja PIA. Jeśli w oknie dialogowym Add Reference pojawia się tylko jeden wpis Microsoft Forms 2.0 Object Library i nie jest to wersja PIA, należy najpierw zainstalować podstawowy zestaw międzyoperacyjny z dysku CD-ROM pakietu Microsoft Office System 2003.
  5. Kliknij przycisk Select (Wybierz), aby dodać wpis do listy wybranych składników.
  6. Kliknij przycisk OK, aby zamknąć okno dialogowe Add Reference.
  7. W oknie Solution Explorer kliknij prawym przyciskiem myszy odwołanie MSForms dodane w kroku 5. Upewnij się, że właściwość Copy Local ma wartość False oraz że właściwość Path wskazuje na podstawowy zestaw międzyoperacyjny (zgodnie z opisem w sekcji „Więcej informacji”).
  8. Usuń stary plik Interop.MSForms.dll z folderu Obj zlokalizowanego w folderze aplikacji.

Więcej informacji

Jeśli zostanie użyte odwołanie do wersji PIA biblioteki Microsoft Forms 2.0 Object Library, wówczas w oknie Solution Explorer będą widoczne następujące właściwości odwołania MSForms:
  • Copy Local: False
  • Path: C:\WINDOWS\assembly\GAC\Microsoft.Vbe.Interop.Forms\11.0.0.0__71e9bce111e9429c\Microsoft.Vbe.Interop.Forms.dll
Jeśli właściwość Path wskazuje na folder buforu Global Assembly Cache (GAC), wówczas odwołanie jest właściwe (odwołanie do wersji PIA).

Jeśli odwołanie do biblioteki Microsoft Forms 2.0 Object Library zostało dodane niepoprawnie (lub jeśli podstawowy zestaw międzyoperacyjny nie jest zainstalowany), to właściwości MSForms są następujące:
  • Copy Local: True
  • Path: C:\MyApplication\obj\Interop.MSForms.dll
Należy zwrócić uwagę, że program Visual Studio .NET tworzy nowy zestaw międzyoperacyjny (IA), a następnie kopiuje go do folderu w projekcie. Jeśli takie zachowanie ma miejsce, to jest używany niewłaściwy zestaw.

Jeśli rozwiązanie używa niewłaściwego odwołania MSForms, mogą wystąpić problemy przy próbie użycia obiektów z tej biblioteki. Na przykład: Użytkownik próbuje skorzystać z funkcji FindControl w projekcie skoroszytu programu Excel utworzonego za pomocą narzędzi Visual Studio Tools for the Microsoft Office System. (Z reguły robi się to, aby przechwycić w arkuszu zdarzenie Click formantu CommandButton.) Jeśli rozwiązanie używa błędnego odwołania MSForms, to zdarzenie Click formantu CommandButton nie zostanie wygenerowane, gdy użytkownik kliknie przycisk w arkuszu, chociaż wydaje się, że w kodzie nie występują błędy. Jeśli zostanie użyta procedura obsługi wyjątku przy próbie przypisania obiektu CommandButton, pojawi się komunikat o błędzie opisany w sekcji „Symptomy”.

Właściwości

Numer ID artykułu: 824009 - Ostatnia weryfikacja: 6 stycznia 2004 - Weryfikacja: 1.2
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Office Professional Edition 2003
  • Microsoft Visual Studio Tools for the Microsoft Office System
Słowa kluczowe: 
kberrmsg kbbug kbpia kbnofix KB824009

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com