MSBuild: проблема с добавочной сборкой

У меня вопрос по частичной сборке. Сценарий следующий.

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

По сути то, что я хочу. 1. Собирать только те проекты, которые были изменены. 2. Обновите версию файла сборки ТОЛЬКО для измененных проектов.

Таким образом, я смогу сократить время сборки и решить проблему clickonce. Любое решение/обходной путь для этого?


person Pankaj Kapare    schedule 03.04.2013    source источник
comment
Какую пользовательскую задачу вы используете для изменения версии файла сборки? Как вы называете эту задачу? Добавьте полный текст цели, где вызывается эта задача.   -  person seva titov    schedule 03.04.2013
comment
Эта проблема решена. Я получил подсказку от поста Сайеда Ибрагима Хашми ниже. stackoverflow.com/questions/11667510/   -  person Pankaj Kapare    schedule 04.04.2013