Partilhar via


dotnet sln add não permite mais nomes de arquivo inválidos

A partir do .NET SDK 9.0.2xx, o comando CLI inclui suporte para arquivos de solução .slnx usando o serializador vs-solutionpersistence. Como resultado, são esperadas pequenas mudanças no comportamento.

Versão introduzida

SDK do .NET 9.0.2xx

Comportamento anterior

Anteriormente, projetos e pastas de solução podiam ter nomes de arquivo do Windows inválidos. Eles também podem ter caracteres inválidos em seus nomes. Além disso, dotnet sln add falhará se você tentar adicionar um projeto aninhado com o mesmo nome de um projeto existente.

Novo comportamento

A partir do .NET SDK 9.0.2xx, projetos e nomes de pastas de soluções:

  • Não pode ser uma palavra DOS: NUL, CON, AUX, PRN, COM?, LPT?ou CLOCK$ (onde ? é qualquer número de dígitos).
  • Deve ter 260 caracteres ou menos.
  • Não pode conter caracteres inválidos, como caracteres de controle ou ?, :, \, /, *, ", ", <, >e |.

Além disso, dotnet sln add agora é bem-sucedido se você tentar adicionar um projeto aninhado com o mesmo nome de um projeto existente, que imita o comportamento para projetos não aninhados. Exemplo: Adicionar folder/project.csproj e parent/child/project.csproj não resulta em erro.

As exceções contêm as cadeias de caracteres atuais, mas encapsulam mensagens de erro de vs-solutionpersistence.

Tipo de mudança de rutura

Esta alteração é uma mudança comportamental.

Motivo da mudança

Essas alterações foram introduzidas para fazer a transição para o novo serializador vs-solutionpersistence.

Revise os nomes das pastas de projeto e solução para garantir que estejam em conformidade com as novas restrições de nomenclatura.

APIs afetadas

N/A