Domanda

Ho un progetto C # nel mio Visual Studio 2008 che una volta costruita, emette un gruppo di file in una directory temp per altri programmi da utilizzare cioè JsTestDriver, JsCoverage, ecc (tutti un po 'Unix-correlato).

Il problema è che, ogni volta quando i file sono stati generati, sembrano contenere strano ritorno di avanzamento del carrello / linea che sconvolge i programmi che li userebbe successiva.

Quello che sto facendo attualmente è creare manualmente un file notepad, rinominarlo con un nome diverso, quindi copiare e incollare l'intero contenuto del file generato (e salvare) per risolvere questo problema. Questo è, naturalmente, noioso e non qualcosa che mi piace fare (in ultima analisi, voglio che tutto questo processo per essere automatizzato).

Quindi la mia domanda è: come faccio a Visual Studio per emettere il corretto / corretta CR / LF quindi non ho più bisogno di passare attraverso il processo manuale

Se quanto sopra è troppo vago, sarò felice di chiarire. Grazie in anticipo.

È stato utile?

Soluzione

Sì, è un po 'troppo vaga al momento - è necessario fornire:

  • Maggiori informazioni su come si sta scrivendo i file
  • Maggiori informazioni su esattamente cosa c'è nei file in seguito. Utilizzare un editor esadecimale per scoprirlo.

Il modo più semplice di cambiare ciò che accade in termini di fine riga è probabilmente quello di essere solo esplicito su di esso nel codice. Ad esempio, invece di:

output.WriteLine(foo);

scrittura

output.Write(foo);
// Here LineTerminator would be a constant - or you could make
// it a variable somewhere
output.Write(LineTerminator);

... forse incapsulare questo nella vostra propria classe per rendere più facile (in modo da poter avere il proprio metodo di WriteLine che fa la cosa giusta, forse).

EDIT: Ho presupposto che è il proprio codice a scrivere i file. Se questo non è il caso, la soluzione più semplice è probabilmente di trovare o scrivere uno strumento per convertire i file, e metterlo come un passo postbuild. Sono sicuro che questi strumenti esistono (penso che ci fosse uno chiamato dos2unix qualche tempo fa), ma può essere facile da scrivere il proprio per trovare uno che fa esattamente quello che vuoi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top