Sdílet prostřednictvím


Pokyny pro vytváření komponent pro souběžné spouštění

Poznámka:

Tento článek je specifický pro rozhraní .NET Framework. Nevztahuje se na novější implementace .NET, včetně .NET 6 a novějších verzí.

Při vytváření spravovaných aplikací nebo komponent navržených pro souběžné spouštění postupujte podle těchto obecných pokynů:

  • Vytvořte vazbu identity typu na konkrétní verzi souboru.

    Modul CLR (Common Language Runtime) vytvoří vazbu identity typu na konkrétní verzi souboru pomocí sestavení se silným názvem. Chcete-li vytvořit aplikaci nebo součást pro souběžné spuštění, musíte všem sestavením dát silný název. Tím se vytvoří přesná identita typu a zajistí se, že se překlad typu přesměruje na správný soubor. Sestavení se silným názvem obsahuje informace o verzi, jazykové verzi a vydavateli, které modul runtime používá k vyhledání správného souboru pro splnění požadavku vazby.

  • Používejte úložiště s podporou verzí.

    Modul runtime používá globální mezipaměť sestavení k poskytování úložiště s podporou verzí. Globální mezipaměť sestavení je adresářová struktura pracující s verzemi nainstalovaná na každém počítači, který používá rozhraní .NET Framework. Sestavení nainstalovaná v globální mezipaměti sestavení se při instalaci nové verze sestavení nepřepíší.

  • Vytvořte aplikaci nebo komponentu, která běží izolovaně.

    Aplikace nebo komponenta, která běží izolovaně, musí spravovat prostředky, aby nedocházelo ke konfliktům, když jsou současně spuštěny dvě instance aplikace nebo komponenty. Aplikace nebo komponenta musí také používat strukturu souborů specifickou pro verzi.

Izolace aplikací a komponent

Jedním z klíčů k úspěšnému návrhu aplikace nebo komponenty pro souběžné spuštění je izolace. Aplikace nebo komponenta musí spravovat všechny prostředky, zejména vstupně-výstupní operace souborů, izolovaným způsobem. Podle těchto pokynů se ujistěte, že vaše aplikace nebo komponenta běží izolovaně:

  • Zápis do registru určitým způsobem. Uložte hodnoty v podregistrech nebo klíčích, které označují verzi, a nesdílejí informace ani stav napříč verzemi komponenty. To brání tomu, aby dvě aplikace nebo komponenty spuštěné najednou přepsaly informace.

  • Vytvořte pojmenované objekty jádra specifické pro konkrétní verzi, aby nedošlo k konfliktu časování. Například časová podmínka nastane, když dva semaphores ze dvou verzí stejné aplikace čekají na sebe navzájem.

  • Zpřístupnit názvy souborů a adresářů s podporou verzí To znamená, že struktury souborů by měly záviset na informacích o verzi.

  • Vytvářejte uživatelské účty a skupiny určitým způsobem. Uživatelské účty a skupiny vytvořené aplikací by měly být identifikovány podle verze. Nesdílejte uživatelské účty a skupiny mezi verzemi aplikace.

Instalace a odinstalace verzí

Při navrhování aplikace pro souběžné spouštění postupujte podle těchto pokynů týkajících se instalace a odinstalace verzí:

  • Neodstraňovat informace z registru, které mohou být potřeba jinými aplikacemi spuštěnými v jiné verzi rozhraní .NET Framework.

  • Nenahrazovat informace v registru, které mohou být potřeba jinými aplikacemi běžícími v jiné verzi rozhraní .NET Framework.

  • Nezaregistrujte komponenty modelu COM, které mohou být potřeba jinými aplikacemi spuštěnými v jiné verzi rozhraní .NET Framework.

  • Neměňte inprocServer32 ani jiné položky registru pro server COM, který je již zaregistrovaný.

  • Neodstraňovat uživatelské účty nebo skupiny, které mohou být potřeba jinými aplikacemi spuštěnými v jiné verzi rozhraní .NET Framework.

  • Nepřidávejte nic do registru, který obsahuje neverzní cestu.

Číslo verze souboru a číslo verze sestavení

Verze souboru je prostředek verze Win32, který modul runtime nepoužívá. Obecně platí, že aktualizujete verzi souboru i pro místní aktualizaci. Dva identické soubory můžou mít různé informace o verzi souboru a dva různé soubory můžou mít stejné informace o verzi souboru.

Verze sestavení je používána modulem runtime pro vazbu sestavení. Modul runtime považuje dvě identická sestavení s různými čísly verzí za dvě různá sestavení.

Nástroj Globální mezipaměť sestavení (Gacutil.exe) umožňuje nahradit sestavení, pokud je novější pouze číslo verze souboru. Instalační program obvykle nenainstaluje sestavení, pokud není číslo verze sestavení větší.

Viz také