О лидирующей новой строке в файлах решений Visual Studio - PullRequest
5 голосов
/ 18 марта 2010

Иногда по неизвестным причинам VS 2008 создает файлы решения во главе с новой строкой.


Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
[...]

Это произошло на разных машинах, и я понятия не имею, почему это так. Поиск в Google не дал никаких полезных результатов.

Теперь, почему я беспокоюсь об этом? Потому что я не могу открыть эти решения в Windows Explorer. Я должен открыть VS, выберите Файл -> Открыть -> Решение, и он работает нормально. Но чтобы открыть решения из Проводника, мне нужно отредактировать файл sln и удалить начальную строку.

Редактировать: После предложения Леома я несколько раз проверял и обнаружил, что проблема исключительно зависит от новой строки.

Редактировать: Интересно: VS 20 10 отображает то же поведение наоборот: он только работает с лидирующей новой строкой! По крайней мере, на некоторых решениях - на других решениях это точно так же, как с VS 2008. Я в замешательстве.

Ответы [ 6 ]

4 голосов
/ 28 декабря 2011

Я тоже наблюдал странное поведение при открытии .sln файла из проводника.

  • Если вы сохраните файл решения как UTF-8 или Unicode, запустите файл .sln с пустой строки. В противном случае он не откроется при двойном щелчке.
  • Если вы сохраните файл решения как ANSI, не запускайте файл .sln с пустой строки. В противном случае он не откроется при двойном щелчке.

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

Вы можете увидеть это сами, выполнив сохранить как в файле решения и выбрав другую кодировку.

Могут быть какие-то устаревшие вещи.

2 голосов
/ 11 июня 2010

Я тоже столкнулся с той же проблемой. Я наблюдал этот сценарий после выполнения обратного слияния с использованием IBM ClearCarecase. Он ввел пустую строку в начале файла ".sln" во время обратного слияния. Чтобы решить эту проблему, я открыл файл sln в редакторе (я использовал VI), удалил пустую строку и сохранил файл. Затем файл открывается в visual studio двойным щелчком мыши.

2 голосов
/ 18 марта 2010

У меня тоже пустая строка в файлах решений, но у меня нет этой проблемы.

Я немного покопался, похоже, что файлы решения действительно запускают Селектор версий Visual Studio, и первые 2 строки (не уверены, действительные ли это первые 2 строки или первые 2 строки текста) файла sln в качестве входных параметров для этого селектора, ссылка .

Возможно, возможно, испорчен этот исполняемый файл.

Кроме того, вы можете попробовать в Visual Studio Tools-> Options-> Environment-> General и выбрать «Восстановить сопоставления файлов»

сообщение в блоге здесь .

1 голос
/ 06 января 2011

Я просто переименовал несколько каталогов в своих проектах и ​​вручную отредактировал файл .sln, и он автоматически остановил загрузку Visual Studio 2010.

Я попытался сохранить как UTF-8, но безуспешно. Однако удаление пустой строки в начале восстановило возможность двойного щелчка, чтобы открыть.

Я не понимаю, но эй, теперь это работает для меня.

0 голосов
/ 19 мая 2011

У меня был sln обновлен с VS2005 до VS2008, но он не открывается при двойном щелчке (по умолчанию он открывается с помощью средства выбора версий Visual Studio). Я заглянул внутрь существующего sl200 VS2008, и у него был ведущий символ новой строки, в то время как у модернизированного sln его не было. В обновленный sln добавлен ведущий символ новой строки, и он открывается просто отлично.

Похоже, что VS2008 использует «Файл решения Microsoft Visual Studio, формат версии 10.00» с лидирующей новой строкой, а VS2005 использует «Файл решения Microsoft Visual Studio, формат версии 9.00» без начального перевода строки, но преобразования первого из VS2005 sln в VS2008 sln не учитывает добавление новой строки.

0 голосов
/ 18 мая 2010

Файлы решения Visual Studio по неизвестной причине должны начинаться с пустой строки. Ваши проблемы, вероятно, связаны не с наличием / отсутствием новой строки, а с кодировкой - если файл SLN редактируется вне VS, его можно сохранить без метки порядка байтов (BOM). Попробуйте открыть файл SLN в блокноте и сохраните как -> выберите кодировку UTF-8.

...