'member' cannot be both external and abstract
abstract and extern are mutually exclusive. extern means that the member is defined outside the file, and abstract means that the implementation is provided in a derived class.
The following sample generates CS0180:
namespace x { public class iii { public extern abstract int aaa(int aa); // CS0180 public static void Main() { } } }