simple hit counter
18 January 2008

Pubblici i sorgenti del .NET framework

La notizia di una futura disponibilità dei sorgenti di alcune librerie del framework .NET 3.5 era già stata data da Scott Guthrie lo scorso Ottobre ma è notizia di ieri della effettiva disponilità per il download.

Lo scopo della pubblicazione del codice sorgente è di supporto alle attività di debugging e troubleshooting delle applicazioni oltre ovviamente ad una maggiore comprensione degli internals del framework stesso. Tutto il codice è rilasciato sotto la Microsoft Reference License (MS-RL).

Come fare? Il processo è molto semplice...solo in 2 passi:

1) In Visual Studio 2008 aprire Strumenti->Opzioni e alla voce Debug-Generale deselezionate la voce Attiva Just my Code (solo gestito) e selezionate "Attiva il supporto del server di orgine (inglese : Enable source server support).

image

2) Infine in Debug->Simboli inserite il seguente indirizzo : http://source.msdn.microsoft.com/symbols (<= Attenzioni in alcuni post che ho letto in giro ho trovato indirizzi non corretti... questo è quello corretto!!!) e l'indirizzo di cache locale. Assicurarsi che la voce "Cerca nei percorsi indicati solo quando i simboli sono caricati manualmente" sia fleggata. ATTENZIONE ai problemi di performace (soprattutto le prime volte)...

image

A questo punto in fase di debug potrete navigare all'interno del codice sorgente del framework semplicemente con F11.

Quali librerie ? Ecco la lista degli assembly disponibili:

  • Mscorlib.DLL
  • .NET Base Class Libraries  (System.*)
  • ADO.NET
  • ASP.NET
  • XML
  • System.Security
  • Windows Forms
  • WPF (Windows Presentation Foundation)
  • Microsoft.VisualBasic.DLL
  • IN futuro saranno disponibili anche WCF (Windows Communication Foundation) , WF (Workflow Foundation) e LINQ.
  • Per quanto riguarda la sicurezza sicuramente consiglio un giretto nei seguenti namespace:

    System.Security dove troverete gli internals della famigerata :-) CAS (Code Access Security) e della Role-Based Security basata su Windows account e custom identity. Inoltre, all'interno del namespace System.Security.Principal namespace troverete la struttura del principal object che rappresenta il security context sotto cui gira il vostro codice.

    Il namcespace System.Security.Cryptography.Pkcs (PKCS = Public Key Cryptography Standards) contiene principalmente i metodi per la firma digitale e relativa verifica (con encoding ASN.1), scambio di chiavi (envelop), richieste di certificati digitali le funzioni di cifratura a chiave asimmetriche più alcune funzioni di utilità.

    Altro importante namespace è quello inerente alla gestione ed utilizzo dei certificati digitali X509 v3: System.Security.Cryptography.X509Certificates . Questo namespace contiene una serie di classi e metodi per un completo accesso a tutti gli aspetti degli store dei certificati e relative informazioni. Dalla versione 2.0 del framework non è più necessario usare le CryptoAPI, CAPICOM o WSE per avere un controllo completo :-)

    Infine il namespace System.Security.Cryptography.Xml permette di controllare tutti gli aspetti della creazione di firme digitali conformi alla specifica XMLDSIG (Vedi mio post precedente della serie "specifiche in pillole") e di XML encryption conforme alla specifica XMLDSIG (Vedi mio post precedente della serie "specifiche in pillole").

    Buon debugging e studio ;-)

    --Mario

    Filed under: ,
     

    Comment Notification

    If you would like to receive an email when updates are made to this post, please register here

    Subscribe to this post's comments using RSS

    Comments

    # Security & Architecture said:

    In questo mio precedente post spiegavo come configurare Visual Studio 2008 per integrare nel processo

    08 February 08 at 10:38 AM
    # Noticias externas said:

    In questo mio precedente post spiegavo come configurare Visual Studio 2008 per integrare nel processo

    08 February 08 at 11:13 AM
    # marco said:

    sto scrivendo un applicativo in visual c++ che implementi delle funzioni crittografiche. Non essendo molto esperto dell'ambiente di sviluppop microsoft, so solo che devo usare una certa "cryptolib" da collegare poi staticamente; il problema è che non riesco a trovare tale libreria, sapresti dirmi se esiste e/o dove si trova???

    grazie comunque

    Saluti

    13 August 08 at 4:30 PM

    Leave a Comment

    Comment Policy: No HTML allowed. URIs and line breaks are converted automatically. Your e–mail address will not show up on any public page.

    (required) 
    (optional)
    (required) 

      
    Enter Code Here: Required
    Page view tracker