Instrukcje: rejestrowanie podstawowych zestawów międzyoperacyjnych

Uwaga / Notatka

Te wskazówki są specyficzne dla platformy .NET Framework. Do nowoczesnego współdziałania .NET z modelem COM użyj współdziałania COM generowanego ze źródła lub interfejsu API System.Runtime.InteropServices.ComWrappers. Aby uzyskać więcej informacji, zobacz Omówienie międzyoperacjności modelu COM i generowanie źródła MODELU COM.

Klasy mogą podlegać marshalingowi tylko za pomocą mechanizmu COM Interop i są zawsze marshalowane jako interfejsy. W niektórych przypadkach interfejs używany do porządkowania klasy nazywany jest interfejsem klasy. Aby uzyskać informacje o zastępowaniu interfejsu klasy wybranym interfejsem, zobacz COM Callable Wrapper.

Chociaż każdy deweloper, który chce używać typów COM z poziomu aplikacji .NET Framework, może wygenerować zestaw międzyoperacyjny, powoduje to problem. Za każdym razem, gdy deweloper importuje i podpisuje bibliotekę typów COM, deweloper tworzy zestaw unikatowych typów, które są niezgodne z zaimportowanymi i podpisanymi przez innego dewelopera. Rozwiązaniem tego problemu niezgodności typów jest to, aby każdy deweloper uzyskał dostarczony i podpisany przez dostawcę podstawowy zestaw międzyoperacyjny.

Jeśli planujesz uwidaczniać typy COM innych firm innym aplikacjom, zawsze używaj podstawowego zestawu międzyoperacyjnego dostarczonego przez tego samego wydawcę, co zdefiniowana przez nią biblioteka typów. Oprócz zapewnienia gwarantowanej zgodności typów podstawowe zestawy międzyoperacowe są często dostosowywane przez dostawcę w celu zwiększenia współdziałania.

Nawet jeśli nie planujesz uwidocznić typów COM innych firm, użycie podstawowego zestawu międzyoperacyjnego może ułatwić współpracowanie ze składnikami COM. Jednak ta strategia nie zapewnia izolacji od zmian, które dostawca może wprowadzić do typów zdefiniowanych w podstawowym zestawie międzyoperacyjnym. Gdy aplikacja wymaga takiej izolacji, wygeneruj własny zestaw międzyoperacyjny zamiast używać podstawowego zestawu międzyoperacyjnego.

Musisz zarejestrować wszystkie nabyte podstawowe zestawy międzyoperacyjne na komputerze deweloperskim, zanim będzie można się do nich odwoływać w programie Visual Studio. Visual Studio wyszukuje i używa podstawowej biblioteki międzyoperacyjnej przy pierwszym odwołaniu do typu z biblioteki typów COM. Jeśli program Visual Studio nie może zlokalizować podstawowego zestawu międzyoperacyjnego skojarzonego z biblioteką typów, zostanie wyświetlony monit o uzyskanie go lub oferty utworzenia zestawu międzyoperacyjnego. Podobnie importer biblioteki typów (Tlbimp.exe) używa również rejestru do lokalizowania podstawowych zestawów międzyoperacyjnych.

Chociaż nie jest konieczne zarejestrowanie podstawowych zestawów międzyoperacyjnych, chyba że planujesz korzystać z programu Visual Studio, rejestracja zapewnia dwie zalety:

  • Zarejestrowany podstawowy zestaw międzyoperacyjny jest wyraźnie oznaczony w kluczu rejestru oryginalnej biblioteki typów. Rejestracja to najlepszy sposób lokalizowania podstawowego zestawu międzyoperacyjnego na komputerze.
  • Możesz uniknąć przypadkowego generowania i używania nowego zestawu międzyoperacyjnego, jeśli w pewnym momencie w przyszłości użyjesz programu Visual Studio, aby odwołać się do typu, dla którego masz niezarejestrowany podstawowy zestaw międzyoperacyjny.

Użyj narzędzia rejestracji zestawów (Regasm.exe), aby zarejestrować podstawowy zestaw międzyoperacyjny.

Zarejestruj podstawowy zestaw międzyoperacyjny

Aby zarejestrować podstawowy zestaw międzyoperacyjny, wpisz w wierszu polecenia:

regasm <assemblyname>

W tym poleceniu nazwa zestawu to nazwa pliku zarejestrowanego zestawu. Regasm.exe dodaje wpis dla podstawowego zestawu międzyoperacyjności pod tym samym kluczem rejestru, co oryginalna biblioteka typów.

Przykład

Poniższy przykład rejestruje podstawowy zestaw interoperacyjności CompanyA.UtilLib.dll.

regasm CompanyA.UtilLib.dll

Zobacz też