Ett av de mer användbara verktygen i SDK:n är ILDASM.EXE, som kan visa sammansättningens manifest och ta isär dess metadata som visas i figur 3. ILDASM gör det möjligt för dig att se vad ett program gör, och till och med att göra en lite reverse engineering på det.
Närhelst en hanterad applikation som ”Hello world”-applikationen börjar köras, börjar en komponent i CLR, kallad Assembly loader, att ladda aggregatet. Först gör den säkerhetskontroller mot datorns säkerhetspolicy för att säkerställa att applikationen tillåts köras (jag kommer att förklara kodåtkomstsäkerhet mer i detalj i en framtida kolumn). Därefter kompileras MSIL för de klasser som ska köras. Slutligen börjar kodhanteraren att köra applikationen. Medan den hanterade applikationen körs kan den anlita ett antal tjänster som tillhandahålls av CLR, inklusive Garbage Collection, Exception Manager, trådstöd och Com-interop. CLR innehåller också en Global Assembly Cache (GAC) som behåller vanliga enheter för snabb åtkomst. Du kan använda NGEN.EXE-verktyget för att lagra den ursprungliga koden för en sammansättning i GAC, och även detta kommer jag att ta upp i en framtida kolumn.
.NET Road Map
VS 2005, som Microsoft räknar med att släppa i slutet av detta kalenderår, är en uppdaterad version av .NET Framework (version 2) med en avsevärt förbättrad Visual Studio 2005 och Visual Studio Team och Foundation-servrar. VS 2005 är knutet både till Yukon (nästa version av SQL Server) och Windows Server 2003 R2 (nästa version av Windows Server 2003). Yukon är betydande genom att det kan vara värd för CLR, vilket innebär att du kan skriva lagrade procedurer i hanterad kod (även om detta förmodligen inte kommer att bli vanligt). R2 är i praktiken Windows Server 2003, plus SP 1, plus några out-of-band-applikationer som AD Federation Services, allt tillsammans, och det kommer att installera .NET Framework som standard. När denna kolumn skrevs hade Microsoft skickat VS 2005 Beta 2, som inkluderar Yukon och de uppdaterade komponenterna i Visual Studio 2005. I min nästa kolumn ska jag ta en titt på VS 2005 mer i detalj.
Sammanfattningsvis representerar .NET ett nytt API för applikationer samt en ny utvecklings- och exekveringsmiljö. Det möjliggör betydligt högre produktivitet för utvecklare, med bättre säkerhet och hanterbarhet, men det skiljer sig mycket från traditionell programmering och behöver nya verktyg och tillvägagångssätt för hantering och optimering, vilket är vad den här kolumnen kommer att handla om. Om du har några kommentarer eller förslag, vänligen maila mig på [email protected], och besök min webblogg på tfl09.blogspot.com.