Управление конфигурацией всегда кажется более «волнистым», чем должно быть. Короче говоря, это действительно зависит от вашей локальной политики.
Я бы предложил использовать сервер непрерывной интеграции, такой как Hudson или Bamboo. Я знаю, что Hudson позволяет вам создавать зависимости проекта, чтобы последняя сборка компонента C автоматически импортировалась как в A, так и в B.
Однако, с точки зрения управления конфигурацией, вы действительно хотите контролировать, какая версия C используется в какой сборке A и / или B, поэтому вам, возможно, захочется копнуть немного глубже.