CS0601 de erro do compilador

Mensagem de erro

O atributo DllImport deve ser especificado em um método marcado como 'estático' e 'extern'

The DllImport atributo foi usado em um método que não tinha as palavras-chave de acesso corretos.

O exemplo a seguir gera CS0601:

// CS0601.cs
using System.Runtime.InteropServices;
using System.Text;

public class C
{
   [DllImport("KERNEL32.DLL")]
   extern int GetCurDirectory(int bufSize, StringBuilder buf);   // CS0601
   // Try the following line instead:
   // static extern int GetCurDirectory(int bufSize, StringBuilder buf);
}

public class MainClass
{
   public static void Main ()
   {
   }
}