По возможности я использую ссылки на файлы проекта (файлы csproj) поверх ссылок на сборки (.dll). Это облегчает многие вещи, такие как:
- код навигации (IDE);
- автоматическая зависимость при сборке (исходный код, который вы читаете, - это тот, который вы создаете, а не что-то потенциально несинхронизированное);
- отладка на уровне исходного кода (даже если вы можете использовать ее без нее, вы точно синхронизированы);
- (проще) переключение между конфигурациями Debug | Release | ...;
- изменение определяет (или любую опцию уровня проекта);
Е.Г.
Solution1.sln
- Project1a.csproj
- MonoTouch.Dialog.csproj (ссылка на ../Common/MonoTouch.Dialog.csproj)
Solution2.sln
- Project2a.csproj
- MonoTouch.Dialog.csproj (ссылка на ../Common/MonoTouch.Dialog.csproj)
Common.sln
Большие решения могут немного пострадать от этого (повысить производительность, выполнить поиск по файлам ...). Чем больше они получают, тем меньше вероятность, что каждый должен знать о каждой его части. Таким образом, прибыль уменьшается, а неудобства растут с каждым добавляемым проектом.
например. Я не хотел бы иметь ссылки на все сборки фреймворка внутри Mono (но лично Я мог бы жить со всеми сборками SDK MonoTouch; -)
Примечание : Работа со ссылками на сборки должна не вызывать случайных ошибок при отладке на устройстве. Если вы можете создать такой тестовый пример , пожалуйста, заполните сообщение об ошибке: -)