CS1689 de erro do compilador

Mensagem de erro

O atributo 'Nome do atributo' somente é válido em métodos ou classes de atributo

Este erro ocorre apenas com o ConditionalAttribute atributo. sistema autônomo a mensagem afirma, este atributo só pode ser usado em métodos ou classes de atributo.Por exemplo, tentar aplicar esse atributo para uma classe irá gerar este erro.

Exemplo

O exemplo a seguir gera CS1689.

// CS1689.cs
// compile with: /target:library
[System.Diagnostics.Conditional("A")]   // CS1689
class MyClass {}