Domanda

.NET On-the-Fly compilatore per lo scripting CLR e vogliono implementare idea successiva : c'è un file modello con codice C #, voglio leggerlo, creare un assembly, caricarlo e amplificare fonte on-the-fly. Come posso fare ciò?

È stato utile?

Soluzione

Si può fare questo con CompileAssemblyFromSource . Ho fatto qualcosa di simliar in passato, dove ho aumentata alcuni script con wrapper di classe statiche in modo da poter facilmente essere chiamati. Puoi vederlo (o rubare da esso) qui.

Per fare questo, basta caricare il modello, aggiungere le amplificazioni in più per il codice, e compilarlo in un solo colpo.


Se si desidera modificare un assieme esistente, è necessario usare qualcosa come Mono.Cecil . Esso permette di caricare e modificare come assemblaggio in fase di esecuzione. C'è un CodeProject articolo utilizzando Reflexil, basa un prodotto GPL su Cecil, che può aiutare a ottenere alcune idee ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top