Compartir vía


dotnet sln add ya no permite nombres de archivo no válidos

A partir del SDK de .NET 9.0.2xx, el comando de la CLI dotnet sln add incluye compatibilidad con archivos de solución .slnx mediante el serializador de vs-solutionpersistence. Como resultado, se esperan pequeños cambios en el comportamiento.

Versión introducida

SDK de .NET 9.0.2xx

Comportamiento anterior

Anteriormente, los proyectos y las carpetas de soluciones podían tener nombres de archivo de Windows no válidos. También podrían tener caracteres no válidos en sus nombres. Además, dotnet sln add fallaba si intentabas agregar un subproyecto con el mismo nombre que un proyecto existente.

Nuevo comportamiento

A partir del SDK de .NET 9.0.2xx, los proyectos y los nombres de las carpetas de las soluciones:

  • No puede ser una palabra de DOS: NUL, CON, AUX, PRN, COM?, LPT?o CLOCK$ (donde ? es cualquier número de dígitos).
  • Debe tener 260 caracteres o menos.
  • No se pueden contener caracteres no válidos, como caracteres de control o ?, :, \, /, *, ", ", <, >y |.

Además, dotnet sln add ahora tiene se ejecuta correctamente si intenta agregar un proyecto anidado con el mismo nombre que un proyecto existente, lo que refleja el comportamiento de los proyectos no anidados. Ejemplo: Agregar folder/project.csproj y parent/child/project.csproj no produce un error.

Las excepciones contienen las cadenas actuales, pero encapsulan los mensajes de error de vs-solutionpersistence.

Tipo de cambio importante

Este cambio es un cambio de comportamiento .

Motivo del cambio

Estos cambios se introdujeron para realizar la transición al nuevo serializador de vs-solutionpersistence.

Revise los nombres de las carpetas de proyectos y soluciones para asegurarse de que cumplen las nuevas restricciones de nomenclatura.

APIs afectadas

N/A