Sdílet prostřednictvím


Sestavení souběžných sestavení C/C++

A vedle sebe sestavení je kolekce prostředků – Skupina knihoven DLL, třídy windows, servery COM, knihovny typů nebo rozhraní – pro použití za běhu aplikace k dispozici.Primární výhodou přebalení v sestavení knihovny DLL je více verzí sestavení lze použít v aplikacích ve stejnou dobu a je možné k sestavení aktuálně nainstalované služby v případě uvolnění aktualizaci.

Aplikace Visual C++ může použít jeden nebo více knihoven DLL v různých částech aplikace.V době běhu knihovny DLL jsou načteny do hlavní proces a je vyžadován kód spuštěn.Aplikace využívá operační systém, vyhledejte požadované knihovny DLL, pochopit, jaké mají ostatní závislé knihovny DLL načíst a potom je načíst a požadované knihovny DLL.Ve verzích operačních systémů Windows starší než Windows XP, Windows Server 2003 a Windows Vista zavaděč operačního systému hledá závislé knihovny DLL v místní složce aplikace nebo jiné složky uvedené v systémové cestě.V systému Windows XP, Windows Server 2003 a Windows Vista zavaděč operačního systému lze také vyhledávat závislých knihoven DLL použitím manifest souboru a hledání pro side-by-side sestavení, které obsahují tyto knihovny DLL.

Standardně při vytváření knihovny DLL s aplikací Visual Studio má manifest aplikace vložené jako prostředek RT_MANIFEST s ID rovna 2.Stejně jako spustitelný soubor tento manifest popisuje závislosti této knihovny DLL v jiných sestaveních.To předpokládá, že knihovna DLL není součástí side-by-side sestavení a aplikace, které závisí na tuto knihovnu DLL nebudou manifest aplikace můžete načíst, ale místo toho se spoléhají na zavaděč operačního systému k vyhledání této knihovny DLL v systémové cestě.

[!POZNÁMKA]

Je důležité pro knihovny DLL, která používá manifest aplikace mít manifest vložený jako prostředek s Identifikátorem rovna 2.Pokud knihovna DLL dynamicky načítán při spuštění (například použití LoadLibrary funkce), uvedené v knihovně DLL manifest závislé sestavení načte zavaděč operačního systému.Manifest externí aplikace pro knihovny DLL není kontrolován během LoadLibrary volání.Pokud není vložený manifest, zavaděče pokusu o načtení správné verze sestavení nebo nepodaří najít pro hledání závislých sestavení.

Jeden nebo několik souvisejících knihovny DLL můžete vytvořen nový balíček do side-by-side sestavení s odpovídající manifestu sestavení, který popisuje soubory, které tvoří sestavení jako sestavení závislost na ostatních sestaveních side-by-side.

[!POZNÁMKA]

Pokud sestavení obsahuje jeden DLL, doporučujeme vložit do této knihovny DLL manifestu sestavení jako prostředek s ID na hodnotu 1 a poskytují soukromé sestavení se stejným názvem jako knihovny DLL.Například pokud je název souboru DLL mylibrary.dll, hodnotu atributu název používán <assemblyIdentity> manifestu elementu může být také Moje knihovna.V některých případech, když má jinou příponu než DLL knihovna (například projekt ovládací prvky ActiveX knihovny MFC vytvoří knihovnu ocx) lze vytvořit manifest sestavení externí.V tomto případě název sestavení a jeho manifestu musí být jiný než název knihovny DLL (například MyAssembly, MyAssembly.manifest a mylibrary.ocx).Však stále doporučujeme přejmenovat tyto knihovny extension.dll a vložení manifestu jako prostředek ke snížení nákladů na budoucí údržbu tohoto sestavení.Další informace o jak operační systém vyhledává privátní sestavení, naleznete v Pořadí hledání sestavení.

Tato změna umožňuje nasazení aplikace odpovídající DLL jako privátní v místní složce aplikace nebo jako sdílené sestavení v mezipaměti sestavení WinSxS.Několik kroků musí být dodržovány pro dosažení správného runtime chování tohoto nového sestavení; jsou popsány v pokyny pro vytvoření sestavení vedle sebe.Po sestavení je správně vytvořen lze nasadit jako buď do soukromých nebo sdílených sestavení společně s aplikací, která je na ní závislá.Při instalaci side-by-side sestavení jako sdílené sestavení, můžete buď postupujte podle pokynů uvedených v Instalaci sestavení Win32 pro Side-by-Side sdílení v systému Windows XP nebo slučovací moduly.Při instalaci side-by-side sestavení jako soukromých sestavení, můžete pouze kopírovat odpovídající DLL, zdrojích a sestavení manifestu jako součást procesu instalace do místní složky aplikace v cílovém počítači zajistit, že toto sestavení lze najít zavaděč za běhu (viz Pořadí hledání sestavení).Další možností je použití Instalační služba Windows Installer a postupujte podle pokynů v tématech Instalaci sestavení Win32 pro soukromé použití aplikace v systému Windows XP.

Viz také

Koncepty

Příklady nasazení

Sestavení izolovaných aplikací C/C++

Další zdroje

Sestavení izolovaných aplikací C/C++ a souběžných sestavení