C# Error CS1689 – Attribute ‘{0}’ is only valid on methods or attribute classes

C# Error

CS1689 – Attribute ‘{0}’ is only valid on methods or attribute classes

Reason for the Error & Solution

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 {}  

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

C# Compiler Error CS0442 – ‘Property’: abstract properties cannot have private accessors Reason for the Error You’ll get this error...
This is a really simple one . Below is a simple example of an enum called “Designation” defined with the...
This blog post explain the usage of the Checked Block in .NET and how you can use them in Visual...