У меня есть большой файл решения С# (~ 100 проектов), и я пытаюсь улучшить время сборки. Я думаю, что "Копировать Локаль" во многих случаях расточительно для нас, но мне интересно о лучших практиках.
В нашем .sln мы имеем приложение A в зависимости от сборки B, которая зависит от сборки C. В нашем случае есть десятки "B" и несколько "C" . Поскольку все они включены в .sln, мы используем ссылки на проекты. Все сборки теперь встраиваются в $(SolutionDir)/Debug (или Release).
По умолчанию Visual Studio отмечает эти ссылки на проекты как "Копировать локальную", что приводит к тому, что каждый "C" копируется в $(SolutionDir)/Debug один раз для каждого "B", который строит. Это кажется расточительным. Что может пойти не так, если я просто отключу "Копировать локаль"? Что делают другие люди с большими системами?
Followup:
Множество ответов предлагает разбить сборку на более мелкие .sln файлы... В приведенном выше примере я сначала собирал базовые классы "C" , а затем большую часть модулей "B", а затем несколько приложений, "A". В этой модели мне нужно иметь не-проектные ссылки на C из B. Проблема, с которой я столкнулся, заключается в том, что "Debug" или "Release" заглатывается в подсказке, и я завершаю сборку релизов "B", против отладочных сборников "С".
Для тех из вас, кто разделяет сборку на несколько файлов .sln, как вы справляетесь с этой проблемой?