Compiler Error CS1689

Attribute 'Attribute Name' is only valid on methods or attribute classes

This error only occurs with the ConditionalAttribute attribute. As the message states, this attribute can only be used on methods or attribute classes. For example, trying to apply this attribute to a class will generate this error.

Example

The following sample generates CS1689.

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