Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
| 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.