Если все приложения находятся на одном виртуальном сервере, рассмотрите возможность размещения общей сборки в GAC. Это позволяет вам расходиться с версиями в случае необходимости и сохраняет все в том же месте, что и бонус. Недостатки: эта сборка выполняется с полным доверием, и вы должны использовать политику и CAS, чтобы гарантировать отсутствие точек повышения доверия для внешних ненадежных сборок. Вам также необходимо узнать об атрибуте [AllowPartiallyTrustedCallers].
Что касается других вариантов, COM +, немного тяжелый. Хорошо для транзакционных вещей. Веб-сервисы, которые не так хороши для сервисов с большими объемами данных, но если все сделано правильно, могут быть достаточно легко обслуживаемыми. Чем больше он разделен, тем лучше окупаемость.