Да, исключить неизменяемые биты из решения. Я говорю это с оговоркой, поскольку вы можете скомпилировать таким образом, чтобы изменение номера сборки для измененной библиотеки могло привести к поломке не построенных частей. Это не должно иметь место, если вы не нарушаете интерфейс, но это довольно часто, потому что большинство разработчиков не понимают интерфейс в мире .NET. Это происходит из-за того, что не нужно писать IDL. : -)
Что касается X-проектов в решении, НЕТ, вы не можете остановить их построение, так как система видит, что зависимость изменилась.
Кстати, вы должны посмотреть на свой проект и выяснить, почему ваш проект пользовательского интерфейса (предположим, что это пользовательский интерфейс) ссылается на ту же библиотеку, что и все остальное. Хорошая модель зависимостей покажет класс (ы), которые должны быть разбиты на объекты данных или доменные объекты (я сделал предположение, что общая зависимость, конечно, представляет собой некоторый объект данных или объект домена, но это довольно часто ). Если общая зависимость не является объектом домена / данных, то в большинстве случаев я бы переосмыслил свою архитектуру. В общем случае вы должны иметь возможность создавать путь от пользовательского интерфейса к данным без общих зависимостей, кроме объектов, не связанных с поведением.