Я предполагаю, что у вас есть приложение A, приложение B, приложение C и т. Д., Которые абсолютно одинаковы, за исключением того, что они отличаются некоторыми свойствами конфигурации, определенными в их файлах web.config.
Конечно, это возможно - проще всего настроить проект как веб-приложение, затем скомпилировать, а затем поделиться этим dll среди приложений. Вы можете использовать GAC, если хотите.
Вы можете настроить отдельные сайты в IIS, которые указывают на общий каталог (или использовать виртуальный каталог в каждом), где находится вся логика, но вы не можете открыть общий доступ к папке app_code.
EDIT
RichardOD имеет лучший ответ выше, и я реализовал нечто подобное раньше. По сути, я настроил пользовательский файл конфигурации, на который ссылается web.config (чтобы предотвратить перезапуск приложения при внесении в него изменений). Этот файл читается по имени хоста и содержит определенные свойства для каждого хоста.
Все, что я делаю, это добавляю заголовки хостов в IIS и запись для этого хоста в файле пользовательской конфигурации. Готово.