Compartilhar via


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?ou CLOCK$ (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.

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