Вопрос

У меня есть проект c # в моей Visual Studio 2008, который при сборке выводит кучу файлов во временном каталоге для использования другими программами, т. е.JsTestDriver, JSCoverage и т.д. (все немного связано с Unix).

Проблема в том, что каждый раз, когда файлы были сгенерированы, они, кажется, содержат странную возвратную каретку / перевод строки, что расстраивает программы, которые будут использовать их в следующий раз.

Что я сейчас делаю, так это вручную создаю файл notepad, переименовываю его на другое имя, затем копирую и вставляю все содержимое сгенерированного файла (и сохраняю), чтобы решить эту проблему.Это, конечно, утомительно и не то, что мне нравится делать (в конечном счете, я хочу, чтобы весь этот процесс был автоматизирован).

Итак, мой вопрос заключается в следующем:как мне заставить Visual Studio выводить правильный CR / LF, чтобы мне больше не нужно было выполнять ручной процесс?

Если вышесказанное слишком расплывчато, я буду рад уточнить.Заранее благодарю.

Это было полезно?

Решение

Да, на данный момент это слишком расплывчато - вы должны предоставить:

  • Более подробная информация о том, как вы записываете файлы
  • Более подробная информация о именно так что будет потом в файлах.Используйте шестнадцатеричный редактор, чтобы выяснить это.

Самый простой способ изменить то, что происходит с точки зрения окончаний строк, вероятно, состоит в том, чтобы просто четко указать на это в коде.Например, вместо:

output.WriteLine(foo);

написать

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

...возможно, инкапсулируя это в свой собственный класс, чтобы упростить задачу (чтобы у вас мог быть свой собственный WriteLine метод, который, возможно, делает правильные вещи).

Редактировать:Я предполагал, что это ваш собственный код, записывающий файлы.Если это не так, то самое простое решение, вероятно, - найти или написать инструмент для преобразования файлов и поместить его в качестве шага последующей сборки.Я уверен, что такие инструменты существуют (я думаю, что некоторое время назад был один под названием dos2unix), но написать свой собственный может быть так же легко, как найти тот, который делает именно то, что вы хотите.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top