This documentation is archived and is not being maintained.

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 ()
   {
   }
}
Show: