dotnet sln add
não permite mais nomes de arquivo inválidos
A partir do SDK do .NET 9.0.2xx, o comando da CLI do dotnet sln add
inclui suporte para arquivos da solução .slnx usando o serializador vs-solutionpersistence. Como resultado, pequenas alterações no comportamento são esperadas.
Versão introduzida
SDK do .NET 9.0.2xx
Comportamento anterior
Anteriormente, projetos e pastas de solução podiam ter nomes de arquivo inválidos do Windows. Eles também podem ter caracteres inválidos em seus nomes. Além disso, dotnet sln add
falha ao tentar adicionar um projeto aninhado com o mesmo nome de um projeto existente.
Novo comportamento
A partir do SDK do .NET 9.0.2xx, projetos e nomes de pasta de solução:
- Não pode ser uma palavra DOS:
NUL
,CON
,AUX
,PRN
,COM?
,LPT?
ouCLOCK$
(em que?
é qualquer número de dígitos). - Deve ter 260 caracteres ou menos.
- Não é possível conter caracteres inválidos, como caracteres de controle ou
?
,:
,\
,/
,*
,"
,"
,<
,>
e|
.
Além disso, dotnet sln add
agora terá êxito se você tentar adicionar um projeto aninhado com o mesmo nome de um projeto existente, o que imita o comportamento de projetos não aninhados. Exemplo: adicionar folder/project.csproj
e parent/child/project.csproj
não resulta em um erro.
As exceções contêm as cadeias de caracteres atuais, mas encapsulam mensagens de erro de vs-solutionpersistence.
Tipo de alteração interruptiva
Essa alteração é uma alteração comportamental .
Motivo da alteração
Essas alterações foram feitas para facilitar a transição para o novo serializador vs-solutionpersistence
.
Ação recomendada
Examine os nomes de pastas de projeto e solução para garantir que eles estejam em conformidade com as novas restrições de nomenclatura.
APIs afetadas
N/A