Obsah sestavení
Obyčejně se statické sestavení může skládat ze čtyř prvků:
assembly manifest obsahující metadata sestavení.
Typová metadata.
Kód jazyka MSIL (Microsoft Intermediate Language), který implementuje typy.
Sada zdrojů.
Vyžadován je pouze manifest sestavení, ale buď typy nebo prostředky je nutné sestavení předat, aby mělo nějakou smysluplnou funkčnost.
Existuje několik způsobů, jak seskupit tyto prvky v sestavení. Je možné seskupit všechny prvky v jednom fyzickém souboru, který je znázorněn na následující ilustraci.
Jedno souborové sestavení.
Alternativně mohou být prvky sestavení obsaženy v několika souborech. Tyto soubory mohou být moduly zkompilovaného kódu (. netmodule), prostředky (například soubory s příponou BMP a JPG) nebo jiné, aplikací požadované soubory. Pokud chcete seskupovat moduly, které jsou zapsány v různých jazycích, tak vytvořte více souborové sestavení. Optimalizace stahování aplikace lze docílit umístěním zřídka používaných typů v modulu, který je stahován pouze v případě potřeby.
Na následující ilustraci si vývojář hypotetické aplikace vybral oddělení některého obslužného kódu do jiného modulu a ponechání velkého souboru prostředků (v tomto případě obrázek s příponou BMP) v původním souboru. Rozhraní .NET Framework stahuje soubor pouze v případě, když je odkazován; udržování zřídka odkazovaného kódu v odděleném souboru aplikace optimalizuje stahování kódu.
Více souborové sestavení
![]() |
---|
Soubory, které tvoří více souborové sestavení nejsou fyzicky propojeny souborovým systémem.Místo toho jsou propojeny prostřednictvím manifestu sestavení a modul CLR (Common Language Runtime) je spravuje jako jednotku. |
Na této ilustraci všechny tři soubory patří sestavení, jak je popsáno v manifestu sestavení, který je obsažen v MyAssembly.dll. Chcete-li, systém souborů jsou tři samostatné soubory. Všimněte si, že soubor Util. netmodule byl kompilován jako modul, protože neobsahuje žádné informace o sestavení. V okamžiku vytvoření sestavení byl manifest sestavení přidán do MyAssembly.dll, což označuje jeho relaci s Util. netmodule a Graphic.bmp.
Když v současné době navrhujete váš zdrojový kód, tak provádíte výslovné rozhodnutí o způsobu rozdělení funkčnosti vaší aplikace do jednoho nebo více souborů. Při navrhování kódu rozhraní .NET Frameworku provedete podobná rozhodnutí o tom, jak rozdělit funkčnost do jednoho nebo více sestavení.