Monodevelop: встроенный конец строки CRLF, преобразованный в LF?

У меня есть ресурс, который не является точно текстовым. Это файл с некоторыми текстами в нем и некоторый код управления ansi. В моей программе я обрабатываю его как двоичный файл. Однако я обнаружил, что когда я загружаю его с помощью System.Resources.ResourceManager.GetObject() в качестве байта [], все CRLF преобразуются в LF. Это не совсем то, что я хочу. Интересно, происходит ли это во время компиляции или времени выполнения.

Тот же проект отлично работает на Xamarin в Windows и OS X. Никакое преобразование не происходит. Это происходит только в Linux. И я уверен, что файл на диске содержит CRLF. Я проверил размер файла с размером байта [], загруженным ResourceManager.

Любые идеи, как предотвратить это? Спасибо.

Ответ 1

Это зависит от настроек "Параметры" → "Текстовый редактор" - "Общие" → "Концевая строка завершена":

Вероятно, для этого параметра установлено значение "Всегда конвертировать концы строк", и вы, вероятно, хотите либо "Оставить окончания строки как есть", либо "Всегда запрашивать конверсию".

Это также можно подключить к настройкам GIT, которые преобразуют все строки в LF во время проверки. Подробнее см. "git config core.eol" и "git config core.autocrlf".