У меня вопрос по частичной сборке. Сценарий следующий.
У меня есть решение, которое содержит проект приложения формы Windows и поддерживающие его проекты библиотеки классов. Я создаю решение с помощью MSBuild. Перед сборкой я меняю версию файла сборки для каждого проекта с помощью пользовательской задачи msbuild. Это приводит к изменению файлов AssemblyInfo. Поскольку файлы AssemblyInfo изменяются, msbuild выполняет сборку каждого отдельного проекта, даже несмотря на отсутствие РЕАЛЬНЫХ изменений кода, кроме изменений в файле AssemblyInfo. Таким образом, каждый раз, когда я создаю решение, оно создает ВСЕ проекты, тогда как в идеальном случае оно должно было создавать только те проекты, в которых произошли реальные изменения кода. Из-за этого время сборки решения остается неизменным, даже если в одном проекте были изменения. Есть еще один побочный эффект этого. Я публикую это приложение, используя clickonce. Таким образом, каждый раз, когда решение собирается, оно создает каждый отдельный проект в решении. Это приводит к тому, что новая хеш-подпись генерируется для каждой сборки/exe в файле манифеста каждый раз, когда я делаю новую сборку. Из-за этого, когда публикуются обновления для приложения, clickonce заставляет пользователя загружать каждую отдельную dll/exe в приложении. В то время как в идеале в систему пользователя должны быть загружены только обновленные (один или два) файлы.
По сути то, что я хочу. 1. Собирать только те проекты, которые были изменены. 2. Обновите версию файла сборки ТОЛЬКО для измененных проектов.
Таким образом, я смогу сократить время сборки и решить проблему clickonce. Любое решение/обходной путь для этого?