2011-02-03 3 views
0

J'aicompilateur C# sortie verbeuse avec CodeDomProvider

CompilerResults cr = codeDomProvider.CompileAssemblyFromFile(cp, source); 
//where source is an array of source file names 

Je veux une sortie verbeuse de la compilation pour chaque fichier.

Actuellement, j'utilise BackgroundWorker pour compiler et renvoyer des messages d'erreur, mais cela se produit après la fin de la compilation. (Succès/avec des erreurs.)

foreach (CompilerError ce in cr.Errors) 
{ 
     synchronizationContext.Send(new SendOrPostCallback((m) => 
     //pushCompilerMessage(currentWindow, msg) 
      ), null);      
} 

Tout cela fonctionne très bien, mais comment passer ces messages de telle sorte qu'il apparaît comme en vrai mode bavard?

+0

@Hans: Je veux dire comme une sortie détaillée étape-par-étape et oui en temps réel .. –

+0

@Hans: Finalement, j'ai mis 'ReportProgress' à profit, merci. Je vais marquer cela comme accepté si vous souhaitez afficher cela comme une réponse. –

Répondre

0

"Verbose" n'a pas beaucoup de sens ici. Voulez-vous vraiment dire "temps réel"? Utilisez la méthode ReportProgress de BackgroundWorker.