Programowanie w języku C#

Manifest

  • 2009-07-08 17:54
  • 1 komentarz
  • 2918 odsłon
  • Oceń ten tekst jako pierwszy

Manifest


Każdy podzespół assembly musi zawierać Manifest. Jest to zbiór tabel metadanych (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 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:


// 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

SebaZ 2009-07-11 23:33

Co to kurki nędzy ma być?