Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

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

Zakończono świadczenie pomocy technicznej dla pakietu Office 2003

Firma Microsoft zakończyła świadczenie pomocy technicznej dla pakietu Office 2003 8 kwietnia 2014. Ta zmiana wpłynęła na Twoje aktualizacje oprogramowania i opcje zabezpieczeń. Dowiedz się, co to oznacza dla Ciebie i jak zapewnić sobie kontynuację ochrony.

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

Identyfikator artykułu: 824009 — ostatni przegląd: 01/06/2004 16:14:31 — zmiana: 1.2

  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Office Professional Edition 2003
  • Microsoft Visual Studio Tools for the Microsoft Office System
  • kberrmsg kbbug kbpia kbnofix KB824009
Opinia