Non posso scrivere MSIL, quindi tieni presente che la mia risposta sarebbe simile al cieco che guida il cieco:)
Detto questo, penso che potrebbe essere una domanda migliore per chiedere "Perché vorresti lavorare direttamente con MSIL"? Le risposte ti aiuteranno quindi a decidere se hai persino bisogno di preoccupartene.
Questa domanda fa un buon lavoro nel passare a quello che puoi fare in MSIL che non puoi fare in altri linguaggi .net - che è presumibilmente il motivo principale per cui potresti anche preoccuparti di MSIL. Se le cose elencate qui sono estranee a te, allora leggi prima questi argomenti. Raccomando anche di leggere CLR tramite C # di Jeffrey Richter se non l'hai già fatto. È sicuramente qualcosa che dovresti leggere (o avere familiarità con i concetti trattati) prima di preoccuparti di MSIL (lo fa in MSIL, e le cose che il CLR - e quindi MSIL ti permetteranno di fare quel C # no).
In conclusione, direi che ci sono molti prerequisiti per imparare a lavorare direttamente con MSIL, e quando avrai padroneggiato questi concetti saprai quando dovresti rompere il MSIL e impararlo / usarlo .