При структурировании решения для визуальной студии я стараюсь структурировать его так, чтобы различные компоненты находились в разных проектах (как я предполагаю, большинство людей). У меня есть множество исключений, определяемых пользователем.
Вопрос в том, должны ли эти исключения быть в отдельном проекте для (например) классов модели?
Я обычно помещаю их в подпространство имен модели и помещаю их в каталог внутри проекта модели. но должны ли они быть все вместе в отдельном проекте?





Я думаю, это зависит от того, как они используются. Если исключение ограничено одним проектом, поместите его туда. Если он используется в нескольких проектах, поместите его в отдельный проект.
Это зависит от того, как вы представляете их использование и как вы развертываете свое приложение. Практическое правило - никогда не создавайте больше пакетов / сборок, чем необходимо.
Есть один веский аргумент в пользу помещения классов исключений и интерфейса в их собственную сборку, и это когда они должны быть совместно использованы клиентами, которым не обязательно «полный» пакет. Один общий сценарий - использование удаленного взаимодействия, другой - создание архитектур плагинов.
Я бы не стал беспокоиться, если строки сообщения настраиваются (файл свойств / xml). Тем не менее, наличие универсального интерфейса верхнего уровня определенно поможет, если исключения будут распространяться на разные проекты.