Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Note
Tyto pokyny jsou specifické pro .NET Framework. Pro moderní interoperabilitu modelu COM v .NET použijte interoperabilitu generovanou ze zdrojového kódu nebo rozhraní API System.Runtime.InteropServices.ComWrappers. Další informace najdete v tématech Přehled interoperability modelu COM a Generování zdrojového kódu pro model COM.
Třídy mohou být maršálovány pouze prostřednictvím rozhraní COM interop a jsou vždy maršálovány jako rozhraní. V některých případech se rozhraní používané k zařazování třídy označuje jako rozhraní třídy. Informace o nahrazení rozhraní třídy rozhraním dle vašeho výběru naleznete v tématu COM Callable Wrapper.
I když každý vývojář, který chce používat typy COM z aplikace .NET Framework, může vygenerovat sestavení pro interoperabilitu, tím vzniká problém. Pokaždé, když vývojář importuje a podepíše knihovnu typů modelu COM, vytvoří sadu jedinečných typů, které nejsou kompatibilní s importovanými a podepsanými jiným vývojářem. Řešením tohoto problému s nekompatibilitou typů je, aby každý vývojář získal dodavatelem dodané a podepsané primární sestavení pro interoperabilitu.
Pokud plánujete zpřístupnit typy rozhraní COM třetích stran jiným aplikacím, vždy používejte primární sestavení interop poskytnuté stejným vydavatelem jako knihovna typů, kterou toto sestavení definuje. Kromě zajištění zaručené kompatibility typů jsou primární sestavení vzájemné spolupráce často přizpůsobena dodavatelem za účelem zlepšení interoperability.
I když neplánujete zveřejnit typy modelu COM třetích stran, může použití primárního sestavení vzájemné spolupráce usnadnit úlohu spolupráce s komponentami MODELU COM. Tato strategie však neposkytuje žádnou ochranu před změnami, které může dodavatel provést v typech definovaných v primárním sestavení interoperability. Pokud vaše aplikace vyžaduje takový stupeň izolace, vygenerujte vlastní sestavení pro interoperabilitu namísto použití primárního sestavení pro interoperabilitu.
Než budete moct v aplikaci Visual Studio odkazovat na všechna získaná primární interoperabilní sestavení, musíte je na svém vývojovém počítači zaregistrovat. Visual Studio při prvním odkazu na typ z knihovny typů COM vyhledá a použije primární sestavení pro spolupráci. Pokud Visual Studio nemůže najít primární propojovací sestavení přidružené ke knihovně typů, vyzve vás, abyste toto sestavení získali, nebo místo toho nabídne vytvoření propojovacího sestavení. Podobně importér knihovny typů (Tlbimp.exe) také používá registr k vyhledání primárních sestavení interoperability.
I když není nutné registrovat primární sestavení pro spolupráci, pokud neplánujete používat Visual Studio, registrace přináší dvě výhody:
- Zaregistrované primární propojovací sestavení je jasně označeno v klíči registru původní knihovny typů. Registrace je nejlepší způsob, jak v počítači najít primární propojené sestavení.
- Pokud v budoucnu použijete Visual Studio k odkazování na typ, pro který máte neregistrované primární sestavení vzájemné spolupráce, můžete se vyhnout náhodnému generování a použití nového sestavení vzájemné spolupráce.
Pomocí nástroje Assembly Registration Tool (Regasm.exe) zaregistrujte primární interoperabilní sestavení.
Registrace primárního sestavení vzájemné spolupráce
Pokud chcete zaregistrovat primární sestavení pro propojení, zadejte na příkazovém řádku:
regasm <assemblyname>
V tomto příkazu je assemblyname název souboru sestavení, které je zaregistrováno. Regasm.exe přidá položku pro primární sestavení interoperability pod stejný klíč registru jako původní knihovna typů.
Příklad
Následující příklad registruje CompanyA.UtilLib.dll primární sestavení pro interoperabilitu.
regasm CompanyA.UtilLib.dll