Manifest

fones

Manifest

Każdy podzespół [[C_sharp/assembly]] musi zawierać Manifest. Jest to zbiór tabel metadanych ([[C_sharp/Metadane]]) które zawierają listy nazw wszystkich plików w podzespole, referencje do innych podzespołów zewnętrznych oraz niezbędne informacje potrzebne do identyfikacji samego siebie, chociażby. nazwa i numer wersji. Podzespoły z silnymi nazwami strongly name assemblies posiadają dodatkowo w manifescie unikatowe sygnatury cyfrowe. Podczas uruchamiania aplikacji, środowisko wykonawcze [[C_sharp/CLR]] w pierwszym kroku otwiera własnie manifest.

Manifest można także samemu przeglądać. Służy do tego narzędzie ILDasm. Po wybraniu pliku, należy dwukrotnie kliknąć w drzewie na gałązkę "M A N I F E S T".

Przykładowy Manifest:

```csharp // Metadata version: v2.0.50727 .assembly extern mscorlib { .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 2:0:0:0 } .assembly Lista { .custom instance void [mscorlib]System.Reflection.AssemblyFileVersionAttribute::.ctor(string) = ( 01 00 07 31 2E 30 2E 30 2E 30 00 00 ) // ...1.0.0.0.. .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = ( 01 00 24 61 63 64 32 36 31 64 63 2D 34 62 35 38 // ..$acd261dc-4b58 // [... i tak dalej, dużo odwołań... ] } .module Lista.exe .imagebase 0x00400000 .file alignment 0x00001000 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY // Image base: 0x010C0000 ```

1 komentarz

Co to kurki nędzy ma być?