CA1016: Marcar assemblies com AssemblyVersionAttribute
Property | Valor |
---|---|
ID da regra | CA1016 |
Título | Marcar assemblies com AssemblyVersionAttribute |
Categoria | Projetar |
Correção interruptiva ou sem interrupção | Sem interrupção |
Habilitado por padrão no .NET 8 | Como sugestão |
Causa
O assembly não tem número de versão.
Descrição da regra
A identidade de um assembly é composta pelas seguintes informações:
Nome do assembly
Número de versão
Cultura
Chave pública (para assemblies com nomes fortes).
O .NET usa o número de versão para identificar com exclusividade um assembly e associar a tipos em assemblies com nomes fortes. O número de versão é usado com a versão e a política do publicador. Por padrão, os aplicativos só são executados com a versão do assembly com que foram criados.
Como corrigir violações
Para corrigir uma violação dessa regra, adicione um número de versão ao assembly usando o atributo System.Reflection.AssemblyVersionAttribute.
Quando suprimir avisos
Não suprima um aviso dessa regra para assemblies usados por terceiros ou em um ambiente de produção.
Suprimir um aviso
Para suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem a fim de desabilitar e, em seguida, reabilitar a regra.
#pragma warning disable CA1016
// The code that's violating the rule is on this line.
#pragma warning restore CA1016
Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none
no arquivo de configuração.
[*.{cs,vb}]
dotnet_diagnostic.CA1016.severity = none
Para obter mais informações, confira Como suprimir avisos de análise de código.
Exemplo
O exemplo a seguir mostra uma montagem que tem o atributo AssemblyVersionAttribute aplicado.
using System;
using System.Reflection;
[assembly: AssemblyVersionAttribute("4.3.2.1")]
namespace DesignLibrary {}
<Assembly: AssemblyVersionAttribute("4.3.2.1")>
Namespace DesignLibrary
End Namespace