Y a-t-il une façon de capturer la sortie de construction, c'est-à-dire le texte qui est sortie à la fenêtre de sortie? À l'heure actuelle, ma seule alternative à copier et coller le texte de la fenêtre de sortie consiste à créer à partir d'une ligne de commande et à rediriger la sortie dans un fichier. P>
Un regard rapide sur les options de ligne de commande C # compiler ne révèle aucune option permettant de spécifier un fichier de sortie pour des messages tels que des avertissements et des erreurs, donc je suppose que les crochets VS dans le flux de sortie du processus de la CSC.exe, pour capturer son texte. et écrivez-le à la fenêtre de sortie. Peut-être qu'il y a un espace où une application personnalisée peut également accrocher. P>
4 Réponses :
Je pense que vous pouvez utiliser DebugView ou développer une application pour capturer le Résultats de la fenêtre de sortie.
Exemple de MSDN pour gérer la fenêtre de sortie: P>
public void writeReadOW(DTE2 dte) { // Add-in code. // Create a reference to the Output window. // Create a tool window reference for the Output window // and window pane. OutputWindow ow = dte.ToolWindows.OutputWindow; OutputWindowPane owP; // Create a reference to the pane contents. TextDocument owPTxtDoc; EditPoint2 strtPt; // Select the Build pane in the Output window. owP = ow.OutputWindowPanes.Item("Build"); owP.Activate(); owPTxtDoc = owP.TextDocument; // Put some text in the pane. owP.OutputString("Testing 123."); // Retrieve the text contents of the pane. System.Windows.Forms.MessageBox.Show("Startpoint: " + owPTxtDoc.StartPoint.DisplayColumn); strtPt = (EditPoint2)owPTxtDoc.StartPoint.CreateEditPoint(); System.Windows.Forms.MessageBox.Show (strtPt.GetText(owPTxtDoc.EndPoint)); }
Vous pouvez utiliser l'extensibilité visuelle Studio ( http://msdn.microsoft.com / FR-US / VStudio / FF718165 ) Pour pouvoir lire le contenu de la fenêtre de sortie. Cette rubrique peut montrer comment se faire une référence: Comment écrire dans la fenêtre Visual Studio Sortie de mon outil personnalisé? . P>
Ajoutez la macro suivante à VS Ceci conduisera la sortie de texte de la fenêtre de sortie, plus spécifiquement la vue code> de la fenêtre code> de la fenêtre de sortie sur comme référence, la solution était basée sur HOWTO: obtenir une sortieWindowpane pour produire une chaîne d'un complément Visual Studio ou d'une macro P> Visual Studio fournit une sortie
fenêtre ("Vue", "Autres fenêtres",
Menu "Sortie") pour afficher les messages, déboguer
informations, etc. Cette fenêtre fournit
plusieurs vitres pouvant être sélectionnées
à travers une combinaison, telle que "source
Contrôle "," Build "," débogage ", etc. p>
Le modèle d'automatisation (ENVDTE) fournit
l'envodte.outputwindow,
Envyte.outputwindowpanes et
Classes EnvDTE.OutputWindowpane. P>
blockQuote> Ce qui précède peut être modifié pour produire probablement des informations de construction sur une base par projet. Les noms de fichiers des journaux de construction etc. peuvent probablement être configurés sur la base du projet actuel en cours de construction (pas trop sûr de cela) et surtout que vous pouvez probablement garder l'historique de construction. P> Il y a un ensemble d'événements vs Peut accrocher, de sorte que le type de choses que l'on puisse faire est sans fin p> ceci a été testé sur VS2010 Ultimate ... P> P> VoieVentez code> Module (Outils-> Macros-> Macros IDE ...) ou Alt + F11. La macro est exécutée après une construction complétant si, avec succès ou non.
build_output.log < / code>. Autre Les GUID IDE sont disponibles sur MSDN A >. P>
Je ne sais pas si cela facilite les choses si vous le savez, mais également des studios visuels définir une variable d'environnement vs_unicode_output et ceci est utilisé par le compilateur CL.EXE pour envoyer sa sortie directement à Vs. Si vous effacez cette variable, la sortie CL.EXE va à la sortie standard et erreur. P>
espère que cela aide! p>
Il redirige la sortie de Msbuild.exe dans la fenêtre de sortie. Il n'y a pas de terrain d'entente ici, que vous construisez à partir de la ligne de commande ou vous construisez de l'IDE. Cela doit fonctionner comme ça, il n'y a pas d'autre moyen d'obtenir la fenêtre de la liste d'erreur pour vous indiquer les erreurs de construction.
@Hans, je ne cherche pas le sol moyen entre la ligne de commande et l'IDE. Je cherche un moyen de capturer automatiquement ce qui est sortie à la fenêtre de sortie lors d'une construction de l'IDE, comme je pense que j'ai assez clairement défini dans le premier paragraphe de ma question.