2015-03-24 4 views
1

Par défaut, le compilateur CSC écrit toutes les sorties dans STDOUT. Existe-t-il une option de compilateur qui peut rediriger les erreurs vers STDERR?CSC compilateur Roslyn - écriture d'erreurs dans STDERR

J'ai besoin de cette fonctionnalité pour écrire toutes les erreurs dans un fichier. Une autre option serait d'analyser manuellement la sortie pour les erreurs avec regex; Cependant, il devrait y avoir une solution plus simple.

+0

Si vous souhaitez analyser les erreurs, vous devez utiliser les API Roslyn directement, ce qui vous donnera des objets d'erreur réels au lieu de texte. – SLaks

Répondre

2

Non; toutes les sorties vont toujours à Console.Out.

Vous pouvez voir ceci dans le source.

Si vous le souhaitez, vous pouvez envoyer une demande d'extraction pour changer cela.


Vous pouvez également passer le /errorlog option d'écrire des erreurs dans un fichier.

+0

Merci, c'est une bonne alternative! –

+0

Le dernier Visual Studio 2015 CTP n'a pas cette option (version 1.0.0.50128): erreur CS2007: Option non reconnue: '/errorlog:error.log' –

+1

@IlyaSuzdalnitski: Vous avez raison; vous avez besoin d'une nouvelle version. https://github.com/dotnet/roslyn/commit/6b92b1820c6dcf1198366e56db600e768bccc227 – SLaks