Я очень мало знаю о MSBuild.
Недавно я прочитал, что установка «копировать локально» на «ложь» для большого решения может значительно сократить время компиляции.
Я нашел способ установить значение по умолчанию равным false, установив файл для всей машины с именем CustomAfterMicrosoftCommon.targets в пути расширения MSBuild.
Это сработало хорошо, однако есть несколько проблем с этим подходом.
-Это значение по умолчанию является общесистемным, и я хотел бы, чтобы оно было только для конкретного решения. Я не делаю этого на уровне проекта, потому что у меня их много в нескольких различных решениях.
-Я хочу, чтобы это значение по умолчанию было применено к "Проектам без вывода". Под этим я подразумеваю, что у проектов библиотеки классов не должно быть локального копирования, установленного в true. Однако основной проект приложения должен копировать local в true для зависимостей библиотек классов, поскольку он должен быть запущен.
В идеале для этих выходных проектов я бы хотел вернуться к более интеллектуальному стандартному значению по умолчанию, которое достаточно умно, чтобы определить, должна ли ссылка быть закрытой или нет. Я полагаю, что по умолчанию можно задать значение «Локальное копирование», а затем явно установить для «Копия локального» значение «истина», где это необходимо. Это не так уж и плохо, учитывая, что у вас обычно не так много выходных проектов, но я хотел бы посмотреть, не придут ли некоторые люди с лучшим решением.
Есть идеи?