Comment faire pour rediriger la sortie standard d'un projet C# de fichier à l'aide de Visual Studio “arguments de ligne de commande” option

Je suis en train de rediriger la sortie d'un programme C# dans un fichier. Lors de l'utilisation de "cmd.exe" je peux simplement de l'exécuter avec myprogram.exe arg1 arg2 > out.txt, mais j'aimerais faire la même chose à l'aide de Visual Studio Options de Démarrage.

J'ai créé un C# Projet Vide et a ajouté ce code:

using System;
class Test
{
    public static void Main(string[] args)
    {
        foreach (var arg in args) Console.WriteLine(arg);
    }
}

Puis j'ai édité le arguments de ligne de commande dans les Paramètres du Projet:
Comment faire pour rediriger la sortie standard d'un projet C# de fichier à l'aide de Visual Studio “arguments de ligne de commande” option

L'exécution du projet avec Ctrl+F5 ne fonctionne pas comme prévu. Je reçois les arguments de ligne de commande imprimé sur la console, et pas dans le fichier de sortie:

arg1
arg2
>
output.txt

Si je change les arguments de ligne de commande à: arg1 arg2 "> output.txt" j'obtiens le résultat suivant:

arg1
arg2
^> output.txt

J'ai remarqué qu'un vide output.txt fichier est créé dans le dossier de Sortie.

Est-ce possible d'accomplir, ou suis-je obligé de continuer à l'utiliser cmd.exe pour le lancement de mon programme?

  • Cela ne peut être fait pour les projets C#, mais, comme vous le savez sans doute) de faire exactement cela fonctionne pour les projets C++. Je ne sais pas pourquoi VS ne se comportent pas de façon uniforme. Je pense que c'est juste général de Microsoft manque de polonais et de la coordination entre les équipes.
InformationsquelleAutor tyrion | 2013-04-28