This documentation is archived and is not being maintained.

Compiler Error C3097

Error Message

'attribute': attribute must be scoped with 'assembly:' or 'module:'

A global attribute was used incorrectly.

For more information, see User-Defined Attributes.


The following sample generates C3097.

// C3097.cpp
// compile with: /clr /c
using namespace System; 

[AttributeUsage(AttributeTargets::All, AllowMultiple = true)]
public ref class Attr : public Attribute {
   Attr(int t) : m_t(t) {}
   int m_t;

[Attr(10)];   // C3097
[assembly:Attr(10)];   // OK

[Attr(10)]   // OK
public ref class MyClass {};