2011-03-02 1 views
0

Je reçois une erreur de sortie en essayant de rediriger une entrée de processus d'un fichier - en lisant le contenu du fichier et en l'écrivant à l'entrée de processus. l'erreur: <output file> The volume for a file has been externally altered so that the opened file is no longer valid.erreur lors de la redirection d'entrée de processus à partir du fichier

le code:

* avant foreach:

prc = new Process(); 
    prc.StartInfo.FileName = prcs; 
    prc.StartInfo.UseShellExecute = false; 

* à l'intérieur ForEachLoop:

prc = new Process(); 
    prc.StartInfo.FileName = prcs; 
    prc.StartInfo.UseShellExecute = false; 
    if (prcs == asProcesses[0])//first process - only redirect output 
    { 
     prc.StartInfo.RedirectStandardInput = true; 
     prc.StartInfo.RedirectStandardOutput = true; 
     prc.Start(); 
     sw = prc.StandardInput; 
     StreamReader sr1 = new StreamReader(sInRedirect); 
     while ((outputLine = sr1.ReadLine()) != null) 
     { 
      sw.Write(outputLine); 
      sw.WriteLine(); 
     } 
     sr = prc.StandardOutput; 
     } 

* Je reçois le message en écrivant la commande: " text1.txt < sort "

  • autre chose, si je cours le programme dans un autre ordinateur, je reçois le message: "le tuyau est en cours de fermeture" merci pour votre aide!
+0

À quel type d'emplacement écrivez-vous le fichier? – Oded

+0

ligne de sortie est une chaîne –

+0

Ce n'est pas ce que je demande. Qu'est-ce que 'sInRedirect'? Quel genre de lieu? – Oded

Répondre

0

Il semble que les autorisations sur votre répertoire de sortie soient définies d'une manière qui empêche la compilation de Visual Studio.
Supprimez tous les indicateurs en lecture seule du dossier du projet et de tous les sous-répertoires, effacez le dossier de sortie et, si nécessaire, prenez possession des dossiers ou accordez-vous des autorisations complètes.

Source: msdn - Visual Studio 2010 fails to build or debug reports error 'Failed to write to output file'.

+0

J'ai lu celui-là aussi, j'ai enlevé les indicateurs en lecture seule et vidé le dossier bin/debug, mais cela ne fonctionne pas –

Questions connexes