ревит ругается
Наверное Visual Studio все же ругается то.
класс не носит IExternalCommand
Что делает?

 Может быть класс не реализует интерфейс?

А по делу. Вообще проблем быть не должно. Для теста написал вот такой вот код:
    interface IDummy
    {
        void DoSomething();
    }
 
    public partial class Dummy : IDummy
    {
        public void DoSomething()
        {
            throw new NotImplementedException();
        }
    }
 
    public partial class Dummy : IDummy
    {
 
    }
Никто не ругается.
Чтобы понять что же у вас там написано не так, напишу немного теории. Конструкция 
partial class позволяет определять один и тот же класс в различных местах (или файлах). Фактически  класс один, но его методы/свойства объявлены в разных местах. Это может быть полезно, когда одна часть класса генерируется, а вторая дописывается пользователем (WinForms, WPF, ASP.NET и т.п.). Зачем вам понадобилось разделять класс в данном случае - не знаю. Но если класс должен реализовывать интерфейс или наследовать класс, то это может быть указано как в одном (любом) из partial классов, так и в обоих. 
Т.е. записи 
    public partial class Dummy : IDummy
    {
        public void DoSomething()
        {
            throw new NotImplementedException();
        }
    }
 
    partial class Dummy
    {
         
    }
и 
    public partial class Dummy 
    {
        public void DoSomething()
        {
            throw new NotImplementedException();
        }
    }
 
    partial class Dummy : IDummy
    {
         
    }
, а также та, что я приводил в самом начале являются верными и не вызывают ошибок.
Так что чтобы понять, что у вас не так, нужно:
1) приложить код всех частей partial класса
2) Написать ошибку так как ее пишет Visual Studio (лучше скриншот), а не своими словами.