No se permiten comillas dobles en directivas de nivel de archivo

El uso de comillas dobles " dentro de directivas a nivel de archivo #: ahora es un error en tiempo de compilación al ejecutar aplicaciones basadas en archivos (por ejemplo, dotnet run app.cs).

Versión introducida

Disponibilidad general de .NET 10

Comportamiento anterior

En las versiones preliminares de .NET 10 RC2 y .NET 10 anteriores, las comillas de las directivas no estaban bloqueadas, pero no funcionaban según lo previsto. Solo se escaparon como cualquier otro carácter especial y se pasaron a MSBuild. Por ejemplo, #:property Prop="my test" dio <Prop>&quot;my test&quot;</Prop>como resultado .

Nuevo comportamiento

Se notifica un error si se encuentra una comilla doble " en alguna directiva a nivel de archivo. El mensaje de error es:

Actualmente, las directivas no pueden contener comillas dobles (").

Tipo de cambio disruptivo

Este cambio puede afectar a la compatibilidad de origen.

Motivo del cambio

Este cambio permite la compatibilidad futura con las directivas entrecomilladas sin introducir un cambio disruptivo. Esto también mejora la experiencia de recuperación de errores si los usuarios intentan usar comillas ahora, pensando que es la sintaxis admitida.

No use comillas en las directivas #:. Si realmente necesita usar una comilla doble (u otro carácter especial que actualmente no se admite, como el espacio en blanco final), mueva la entrada de metadatos del proyecto correspondiente a un Directory.Build.props archivo en su lugar (la aplicación basada en archivos la recogerá). O bien, convierta la aplicación basada en archivos en un proyecto completo a través de dotnet project convert.

Las APIs afectadas

Ninguno.