ревит ругается
Наверное 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 (лучше скриншот), а не своими словами.