VS 10/12 проект: можно ли добавить *.cs в виде ссылки в режиме «только чтение»
Доброго дня
есть два VS проекта не объединённые в одно решение.
Второй проект нуждается в некторых .cs из первого проекта.
Я добавил эти файлы в виде ссылки.
Всё замечательно, но мне надо, чтобы при работе во втором проекте небыло возможности ничего изменить в коде из первого проекта — тоесть ссылки должны быть только в режиме чтения. При этом в первом проекте должна оставаться возможность на редактирование всего.
Возможно ли это организовать какими либо простыми средствами — может есть чего встроенного в студию
Второе Решение — это сильно урезанное первое+ реализация того, что в первом небудет — что-то типа ответвления.
Во втором Решении используется файлы из 6 внешних проектов, каждый из которых я котегорически не хочу дробить на части — они уже задействованы в виде DLL в других программах — которым нужена их полная реализация
Значит проблема в первую очередь в декомпозиции на модули, а ваша, как ниже правильно написали, только запах. Собственно, подозреваю, что проблема в несоблюдении Single Responsibility.
Все верно сказано в предыдущем ответе.
Ваша проблема не должна возникнуть — скорее всего это лишь запах настоящих проблем — проблем высокоуровневой архитектуры и системы деплоя.
И эти проблемы обязательно всплывут еще — ваши костыли вас не спасут.
Делайте как все нормальные люди — оперируйте классами и неймспейсами а не файлами и выносите общие части в отдельный проект.
Если по ходу придется решать какие то серьезные проблемы приложения — решайте их.
В частности если сборка используется в других программах — зафиксируйте ее внешний интерфейс как фасад и поменяйте внутреннюю реализацию на вызов кода из других сборок. Будет лишний повод покрыть тестами.
Или разберитесь с системой деплоя этой сборки в данные приложения.
да, с архитектурой определённые проблемы есть, хотя всё не так уж и печально и довольно быстро удалось выпилить часть нужного функционала в новый проект.
ок, придется разбить моих монстров на более мелкие составляюще :D