Manifest zestawu
Każdy zestaw statyczny i dynamiczny zawiera kolekcję danych, które opisują powiązania między elementami zawartymi w zestawie. Manifest zestawu zawiera metadane zestawu. W manifeście zestawu znajdują się wszystkie metadane potrzebne do określenia wymagań w zakresie wersji zestawu i tożsamości jego zabezpieczeń, a także wszystkie metadane niezbędne do definiowania zakresu zestawu oraz rozpoznawania odwołań do zasobów i klas. Manifest zestawu może być przechowywany w pliku PE ( .exe lub .dll) z kodem wspólnego języka pośredniego (CIL) lub w autonomicznym pliku PE zawierającym tylko informacje o manifeście zestawu.
Na ilustracji poniżej widać różne sposoby przechowywania manifestu.
Dla zestawu o jednym skojarzonym pliku manifest jest umieszczony w pliku PE, co tworzy zestaw jednoplikowy. Zestaw wieloplikowy może zawierać autonomiczny plik manifestu lub manifest umieszczony w jednym z plików PE w zestawie.
Manifest każdego zestawu wykonuje następujące funkcje:
Wylicza pliki tworzące zestaw.
Określa, w jaki sposób odwołania do typów i zasobów zestawów są mapowane na pliki zawierające ich deklaracje i implementacje.
Wylicza inne zestawy, od których zależy zestaw.
Tworzy poziom pośredni między obiektami używającymi zestawu a szczegółami implementacji zestawu.
Sprawia, że zestaw sam siebie opisuje.
Zawartość manifestu zestawu
Poniższa tabela pokazuje informacje zawarte w manifeście zestawu. Pierwsze cztery elementy: nazwa zestawu, numer wersji, kultura i informacje o silnej nazwie składają się na tożsamość zestawu.
Informacja | opis |
---|---|
Nazwa zestawu | Ciąg tekstowy określający nazwę zestawu. |
Numer wersji | Główny i pomocniczy numer wersji oraz numery poprawki i kompilacji. Na podstawie tych numerów środowisko uruchomieniowe języka wspólnego wymusza zasady dotyczące wersji. |
Kultura | Informacje o kulturze lub języku obsługiwanym przez zestaw. Informacji tych należy używać wyłącznie w celu oznaczenia zestawu jako zestawu satelickiego zawierającego informacje specyficzne dla kultury lub języka. (Zestaw z informacjami o kulturze jest automatycznie traktowany jako satelicki). |
Informacje o silnej nazwie | Klucz publiczny od wydawcy, jeśli zestawowi nadano silną nazwę. |
Lista wszystkich plików w zestawie | Skrót utworzony na podstawie zawartości każdego pliku w zestawie i nazwy pliku. Wszystkie pliki tworzące zestaw muszą być w tym samym katalogu co plik zawierający manifest zestawu. |
Informacje o odwołaniu do typu | Informacje, na podstawie których środowisko uruchomieniowe mapuje odwołanie do typu na plik zawierający jego deklarację i implementację. Wykorzystywane do typów eksportowanych z zestawu. |
Informacje o przywoływanych zestawach | Lista innych zestawów, do których prowadzą statyczne odwołania z zestawu. Każde odwołanie zawiera nazwę zależnego zestawu, metadane zestawu (wersja, kultura, system operacyjny itd.) oraz klucz publiczny, jeśli zestaw ma silną nazwę. |
Niektóre informacje w manifeście zestawu można dodawać i zmieniać w kodzie za pomocą atrybutów zestawu. M.in. można zmienić informacje o wersji i atrybuty informacyjne, w tym dotyczące znaku towarowego, praw autorskich, produktu, firmy i danych informacyjnych wersji. Aby uzyskać pełną listę atrybutów zestawu, zobacz Ustawianie atrybutów zestawu.