C# Error CS1730 – Assembly and module attributes must precede all other elements defined in a file except using clauses and extern alias declarations

C# Error

CS1730 – Assembly and module attributes must precede all other elements defined in a file except using clauses and extern alias declarations

Reason for the Error & Solution

Assembly and module attributes must precede all other elements defined in a file except using clauses and extern alias declarations.

An attribute applied at the assembly level cannot appear after any type definitions.

To correct this error

  1. Move the attribute to the top of the file, but below the using directives and extern alias declarations.

Example

The following code generates CS1730:

// cs1730.cs  
class Test  
{  
}  
[assembly: System.Attribute] // CS1730