Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
22
AplikacjeWindowsForms.NETwC#
Złożeniajednoplikowe(ang.Single-FileAssembly)
Składająsiętylkozjednegoplikutypu.dlllub.exe,zawierającegotzw.manifest,kod
MSIL,metadaneoraz(opcjonalnie)zasoby(patrzrys.10.).
Rysunek10.Wewnętrznabudowazłożeniajednoplikowego
JeślikorzystamyzjęzykówC#lubVB.NET,toVisualStudio.NETwspomagatworzenie
tylkozłożeńjednoplikowych.Wceluwygenerowaniazłożeniajednoplikowegomożnatakże
skorzystaćzkompilatoracsc.exelubvbc.exe.Wadązłożeńjednoplikowychmogąbyćduże
problemypodczasprzesyłaniaichprzezsiećlubpodczasładowaniadopamięcioperacyjnej,
spowodowanezbytdużymrozmiarem(wbajtach)złożenia.Dotyczytozłożeńzawierających
skompilowanykodwieludużychobiektówlubnieskompresowanychplikówgraficznych.
Manifestzłożeniazawierawszystkieniezbędneinformacjeopisującedanezłożenieoraz
referencjedoinnychmodułów,plikówzasobówizłożeń,atakżetypówidanychznajdujących
sięwewnątrzzłożenia.
Poniżejpodanopoczątkowyfragmentmanifestuzłożenia,zawierającynazwy,wersje
izhaszowanewartościpublicznychkluczydołączonychprzestrzeninazwdoaplikacji:
.assemblyexternSystem.Windows.Forms
{
.publickeytoken=(B77A5C561934E089)
.ver1:0:3300:0
}
.assemblyexternMojTextBox
{
.ver1:0:1548:39307
}
.assemblyexternmscorlib
{
.publickeytoken=(B77A5C561934E089)
.ver1:0:3300:0
}
Złożeniawieloplikowe(ang.Multi-FileAssembly)
Złożeniawieloplikoweskładająsięzwieluplikówtypu.netmodule,.bmp,.icoorazzjed-
negoplikutypu.exelub.dllzawierającegomanifest(patrzrys.11.),przyczympozostałepliki
złożenianiemogązawieraćmanifestuzłożenia.Wtychplikachmogąznajdowaćsiętylko
metadane,skompilowanykodMSILizasoby.