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