Compiler Error CS0601

The DllImport attribute must be specified on a method marked 'static' and 'extern'

The DllImport attribute was used on a method that did not have the correct access keywords.

The following sample generates 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 ()  
   {  
   }  
}