Поделиться через


dotnet sln add больше не разрешает недопустимые имена файлов

Начиная с пакета SDK для .NET 9.0.2xx, команда CLI dotnet sln add включает поддержку файлов решения .slnx с помощью сериализатора vs-solutionpersistence. В результате ожидаются незначительные изменения в поведении.

Представленная версия

Пакет SDK для .NET 9.0.2xx

Предыдущее поведение

Ранее папки проектов и решений могли иметь недопустимые имена файлов Windows. Они также могут иметь недопустимые символы в их именах. Кроме того, сбой dotnet sln add произошел, если вы попытались добавить вложенный проект с тем же именем, что и существующий проект.

Новое поведение

Начиная с .NET SDK версии 9.0.2xx, имена папок проектов и решений:

  • Не может быть словом DOS: NUL, CON, AUX, PRN, COM?, LPT?или CLOCK$ (где ? имеет любое количество цифр).
  • Должно быть 260 символов или меньше.
  • Не может содержать недопустимые символы, такие как управляющие символы или ?, :, \, /, *, ", ", <, >и |.

Кроме того, dotnet sln add теперь приводит к успеху при попытке добавить вложенный проект с тем же именем, что и существующий проект, что соответствует поведению для невложенных проектов. Пример. Добавление folder/project.csproj и parent/child/project.csproj не приводит к ошибке.

Исключения содержат текущие строки, но обтекают сообщения об ошибках из vs-solutionpersistence.

Тип ломающего изменения

Это изменение является изменения поведения.

Причина изменения

Эти изменения были введены для перехода на новый сериализатор vs-solutionpersistence.

Просмотрите имена папок проектов и решений, чтобы обеспечить соответствие новым ограничениям именования.

Затронутые API

N/A