CA2267: Ponha entre aspas os espaços em branco nos valores de diretivas de programa baseadas em arquivo

Property Valor
ID da regra CA2267
Título Coloque entre aspas os espaços em branco em valores de diretiva de programa baseados em arquivo
Categoria Usage
Correção é disruptiva ou não disruptiva Inquebrável
Habilitado por padrão no .NET 11 Como aviso
Idiomas aplicáveis C#

Cause

O valor de uma diretiva de programa baseada em arquivo #: contém espaço em branco sem aspas.

Descrição da regra

Antes de haver suporte a aspas, os espaços em branco em um valor de diretiva #: de um programa baseado em arquivo eram interpretados literalmente. Esse formulário ainda funciona, mas foi preterido. Encapsular valores que contêm espaço em branco entre aspas duplas (") para que sejam analisados de forma inequívoca.

Esta regra aplica-se às diretivas #:sdk, #:property, #:package, #:project, #:ref, #:include e #:exclude. Isso só é relatado quando o valor tem um equivalente entre aspas inequívoco que preserva a semântica, de modo que aplicar a correção nunca altera o significado da diretiva.

Para obter mais informações sobre aplicativos baseados em arquivo e suas diretivas, consulte aplicativos baseados em arquivo.

Como corrigir violações

Adicione aspas duplas ao redor do valor semântico para que o espaço em branco seja analisado de forma inequívoca. Para formas compostas, como uma atribuição de propriedade ou o nome e a versão de um pacote, coloque entre aspas a parte depois do separador. Mantenha qualquer espaço em branco intencional ao redor do separador fora das aspas.

No Visual Studio, você também pode aplicar a correção de código Adicionar aspas ao redor do valor da diretiva.

Example

O snippet de código a seguir mostra uma violação do CA2267.

#:property Description=Hello World

O snippet de código a seguir corrige a violação.

#:property Description="Hello World"

A correção de código preserva o espaço em branco ao redor dos separadores e entre o tipo da diretiva e o seu valor. Por exemplo, as seguintes diretivas alinham nomes e separadores:

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

A correção de código adiciona aspas sem alterar esse alinhamento:

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

Quando suprimir avisos

Não é recomendável suprimir esse aviso. A forma entre aspas é a forma compatível para incluir espaços em branco em um valor de diretiva, e a forma sem aspas é obsoleta.

Suprimir um aviso

Para aplicativos baseados em arquivo, suprime uma única violação adicionando uma #:property diretiva ao arquivo de ponto de entrada.

#:property NoWarn=$(NoWarn);CA2267

Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none no arquivo de configuração.

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

Para obter mais informações, consulte Como suprimir avisos de análise de código.

Consulte também