Presentation laddar. Vänta.

Presentation laddar. Vänta.

Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Assembly.

Liknande presentationer


En presentation över ämnet: "Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Assembly."— Presentationens avskrift:

1 Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola farid.naisan@ts.mah.se.NET Assembly

2 2 Assembly  En assembly definieras som en logisk binär kodmängd.  Fysiskt är en assembly EXE eller DLL filer.  Assemblyer utgör byggstenar i.NET ramverk applikationer.  En assembly kan bestå av en eller flera filer.  Kompilerad kod i.NET är i själva verket en assembly trots att den heter EXE eller DLL.  Det är stor skillnad mellan dessa och de tidigare EXE och DLL filer.

3 3.NET assembly  En.NET assembly är en självbeskrivande binär, innehållande typer (klasser, gränssnitt, delegater, strukturer och enumeraturer) och eventuellt resurser (bilder, GUI element, etc) som tillsammans bygger en körbar enhet (EXE eller DLL).  Komponenter måste paketeras som en assembly (dll) för att kunna användas i andra applikationer.  Version av varje komponent är den som gäller för den assembly komponenten finns i.

4 4 Manifest  Varje assemblyfil innehåller information om sig själv. Detta kallas för manifest eller assemblymetadata.  Assemblymanifest är en datastruktur som lagrar information om assemblyn i själva assemblyfilen (dll/exe).  Informationen består av  versions information  list av de ingående filer  mm

5 5 Innehåll och mål  Assemblyer innehåller nödvändig data till CLR  Version  Återanvänding  Rättigheter  Säkerhet  Assemblyer har designats för att:  underlätta distribution (deployment) av applikationer  lösa versionshanterings problem (jmf com-applikationer)  lösa DLL-hell problemet

6 6 Självbeskrivande  Metadata (data om data)  har komplett information om varje typ som ingår i aktuell modul samt de typer externa moduler som programmet använder sig av.  Manifest (assembly metadata, data om assembly)  har data om varje modul i assemblyn  sätter version för assemblyn  dokumenterar även externa moduler som assemblyn använder sig av.

7 7 ildasm.exe .NET innehåller ett verktyg ildasm.exe som visar metadata och CIL kod  skriv: ildasm programNamn.exe vid prompten för att se all information och beskrivning av assemblyn.

8 8 Beståndsdelar  En assembly innehåller följande 5 element som gör att en assembly i.NET blir helt självbeskrivande:  Windows file header o win32 header som talar om modulen är användbar i Windows operativ system. o Typ av applikation, konsol, GUI eller dll  Assemblymanifest som innehåller typmetadata (CLR kod) – innehåller all data som behövs för att implementera typerna, tex var i filen metadata (dat om typen) och resurserna (GUI-element) finns.  CIL kod som är plattformsoberoende kompilerad kod.  En del resurser (jpg filer mm).

9 9 single/multifil assemblyer  Delarna kan grupperas i en enda fysisk fil, eller flera fysiska filer. Manifest (Asseblymetadata) Typmetadata IL kod Resurser (bilder mm) SinglefilAssembly.dll

10 10 Multifil assembly Manifest Typmetadata IL Kod MultiFilAssembly.dll Typmetadata IL Kod Resurser StorFil.jpg GottOchBlandat.netmodule

11 11 Privata assemblyer  Assemblier kan vara privata eller delade  Privata assemblyer (Private Asemblies)  En assembly som används av endast en applikation kallas för privat assembly.  Säg att du har en klientapplikation och du inkapslar din affärslogik (Business Logic) i en dll.  Denna dll kan läggas i samma eller i anslutning till den mapp som husar klientapplikationen.  Dll:n används endast av klientapplikation  Dll:n är då privat till klientapplikationen.

12 12 Delade assemblier  Delade assemblyer (Shared Assemblies)  är assemblier som används av eller är tillgängliga till flera klienter. o Säg att du skapar en dll med tjänster som kan användas av olika applikationer. o I stället för att varje klient får sin egen kopia, kan man lägga dll:n på ett ställe då alla klienter kan komma åt. o Det finns en bestämd plats, kallad för ”Global Assembly Cache” eller GAC för delade filer under Windows OS. o GAC finns på din dator under mappen …\Windows\Assembly o Hur installerar man dll:er under GAC? Besök följande länk: o http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncfhowto/html/HOWTOGAC.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncfhowto/html/HOWTOGAC.asp

13 13 EXE och DLL  Skapande och installation av delade assemblyer behandlas i senare delen av kursen då vi också går igenom, versionshantering och säkerhet i.NET.  Här beskrivs hur man skapar privata assemblyer och anropar dem i klientprogram.  Vad är skillnaden mellan en assembly av typ EXE och en DLL?  EXE assemblyn är direkt körbar.  DLL assemblyn kan inte köras direkt utan skall köras (helt eller delvis) av klientprogram, dvs andra applikationer.

14 14 Skapa exe/dll assemblyer  För att lösa en uppgift skall man tänka sig ett projekt oavsett vilket utvecklingsverktyg man använder.  Ett projekt är en samlig av alla de komponenter (kod, resurser, mm) som tillsammans blir ett program.  Om du skapar applikation manuellt, organisera filera i mappar och undermappar.  Visual Studio.NET är ett väldigt naturligt val för att utveckla.NET applikationer.  Med C# som språk blir är programmerarens liv en ren lycka!  VB.NET är en het kandidat också!

15 15 Skapa en EXE  Skriv dina källkods filer, följ gärna följande mönster:  En klass som fungerar som entré till programmet o innehållande metoden Main o så lite kod som möjligt  En klass för varje objekt o Innehållande en funktion för varje operation - alltså heller många små funktioner än en stor. o Endast privata medlemmar. o Properties (get och set) får åtkomst av data. MainProg.cs Huvudproram fil a.cs för objekt a fil x.cs för objekt x

16 16 Skapa dll:er  Under.NET kallas en dll formellt för en klassbibliotek vilket är väldigt rätt.  Man skiljer mellan två typer:  Klassbibliotek (Class Library), standard dll:er för allmänt ändamål.  Kontrollbibliotek (Control Library) för att skapa egna kontroller.  Glöm inte att lägga till referens till de bibliotek (dll:er) som du använder i din applikation.  Hur man skapa dessa typer av applikationer i Visual Studio.NET visas på föreläsningen.  Se också exempelprojektet på hemsidan.

17 17  The End


Ladda ner ppt "Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Assembly."

Liknande presentationer


Google-annonser