CA2267: Entrecomille los espacios en blanco en los valores de directiva de programa basado en archivos

Propiedad Importancia
Identificador de la regla CA2267
Title Entrecomillar los espacios en blanco en los valores de directivas de programa basadas en archivos
Categoría Uso
La corrección es disruptiva o no disruptiva Non-breaking
Habilitado de forma predeterminada en .NET 11 Como advertencia
Idiomas aplicables C#

Causa

El valor de una directiva de programa #: basada en archivo contiene espacios en blanco sin comillas.

Descripción de la regla

Antes de que se admita la cita, el espacio en blanco de un valor de directiva de programa #: basado en archivos se tomó literalmente. Ese formulario sigue funcionando, pero está en desuso. Encapsula los valores que contienen espacios en blanco entre comillas dobles (") para que se analicen de forma inequívoca.

Esta regla se aplica a las directivas #:sdk, #:property, #:project, #:package, #:ref, #:include y #:exclude. Solo se informa de ello cuando el valor tiene un equivalente inequívoco entre comillas que preserve la semántica, por lo que aplicar la corrección nunca cambia el significado de la directiva.

Para obtener más información sobre las aplicaciones basadas en archivos y sus directivas, consulte Aplicaciones basadas en archivos.

Cómo corregir infracciones

Agregue comillas dobles alrededor del valor semántico para que el espacio en blanco se analice de forma inequívoca. En las formas compuestas, como una asignación de propiedades o el nombre de un paquete y su versión, pon entre comillas la parte que va después del separador. Mantenga cualquier espacio en blanco intencional alrededor del separador fuera de las comillas.

En Visual Studio, también puede aplicar la corrección de código Agregar comillas alrededor del valor de la directiva.

Example

El siguiente fragmento de código muestra una infracción de CA2267.

#:property Description=Hello World

El siguiente fragmento de código corrige la infracción.

#:property Description="Hello World"

La corrección de código conserva el espacio en blanco alrededor de los separadores y entre el tipo de directiva y su valor. Por ejemplo, las siguientes directivas alinean los nombres y separadores:

#:property Prop  = Value
#:package  First @ 1.0

La corrección de código agrega comillas sin cambiar esa alineación:

#:property Prop  = "Value"
#:package  First @ "1.0"

Cuándo suprimir las advertencias

No se recomienda suprimir esta advertencia. El formulario entre comillas es la manera admitida de incluir espacios en blanco en un valor de directiva y el formulario sin comillas está en desuso.

Supresión de una advertencia

En el caso de las aplicaciones basadas en archivos, suprima una única infracción agregando una #:property directiva al archivo de punto de entrada.

#:property NoWarn=$(NoWarn);CA2267

Para deshabilitar la regla de un archivo, una carpeta o un proyecto, establezca su gravedad a none en el archivo de configuración.

[*.cs]
dotnet_diagnostic.CA2267.severity = none

Para obtener más información, consulte Cómo suprimir advertencias de análisis de código.

Véase también