Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
| Property | Value |
|---|---|
| ID da regra | CA2267 |
| Título | Citar espaço em branco nos valores de diretivas de programa baseados em ficheiros |
| Categoria | Usage |
| A correção é invasiva ou não invasiva | Inquebrável |
| Ativado por defeito no .NET 11 | Como aviso |
| Línguas aplicáveis | C# |
Motivo
O valor de uma diretiva de programa #: baseada em ficheiros contém espaços em branco sem aspas.
Descrição da regra
Antes de ser suportada a citação, o espaço em branco num valor de diretiva de programa #: baseado em ficheiros era tomado literalmente. Esse formulário ainda funciona, mas está obsoleto. Envolve valores que contenham espaços em branco entre aspas duplas (") para que sejam analisados de forma inequívoca.
Esta regra aplica-se aos #:sdk, #:property, #:package, #:project, #:ref, #:include, , e #:exclude diretivas. Só é assinalado quando o valor tem um equivalente inequívoco, entre aspas, que preserva a semântica, pelo que a aplicação da correção nunca altera o significado da diretiva.
Para mais informações sobre aplicações baseadas em ficheiros e as suas diretivas, consulte Aplicações baseadas em ficheiros.
Como corrigir violações
Adicione aspas duplas em torno 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 após o separador. Mantenha qualquer espaço em branco intencional à volta do separador fora das citações.
No Visual Studio, também pode aplicar a correção de código Adicionar aspas à volta do valor da diretiva.
Example
O seguinte excerto de código mostra uma violação do CA2267.
#:property Description=Hello World
O seguinte excerto de código corrige a violação.
#:property Description="Hello World"
A correção ao código preserva o espaço em branco em 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 do código adiciona aspas sem alterar esse alinhamento:
#:property Prop = "Value"
#:package First @ "1.0"
Quando suprimir avisos
Não é recomendado suprimir este aviso. A forma entre aspas é a forma suportada de incluir espaços em branco num valor diretivo, e a forma sem aspas é obsoleta.
Suprimir um aviso
Para aplicações baseadas em ficheiros, suprima uma única violação adicionando uma #:property diretiva ao ficheiro do ponto de entrada.
#:property NoWarn=$(NoWarn);CA2267
Para desabilitar a regra de um arquivo, pasta ou projeto, defina sua gravidade 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.