Для правильного распределения ссылок между проектами в решении Visual Studio при реализации MVP на C# рекомендуется:
- Разбить решение на логические функциональные области. 1 Например, сборку утилит расположить вверху, а все графические интерфейсы, веб-службы и другие конечные проекты — внизу. 1 Проект утилит не должен ссылаться ни на какой другой проект, а на те, что находятся внизу, не должно быть ссылок ниоткуда. 1 Затем нужно определить, какая функциональность является общей для них. 1 Например, все графические интерфейсы могут использовать общий проект пользовательского интерфейса с общими пользовательскими элементами управления и диалоговыми окнами. 1
- Использовать ссылки на проекты. 35 Они создают зависимость между проектами в системе сборки. 5 Добавлять ссылки на проекты нужно на вкладке «Проекты» диалогового окна «Диспетчер ссылок». 3
- Избегать добавления ссылок на файлы в выходные данные другого проекта в том же решении. 2 Эта тактика может привести к ошибкам компиляции. 2 Вместо этого следует создавать ссылки между проектами, используя вкладку «Решение» диалогового окна «Диспетчер ссылок». 2
Если возникает циклическая ссылка, её можно обойти, определив интерфейс в сборке нижнего уровня и предоставив реализацию на верхнем уровне. 1
Выбор распределения ссылок зависит от конкретных условий и требований проекта.