Во-первых, у меня есть базовое предположение о том, что Visual Studio компилирует вещи со своими файлами по умолчанию. * Proj-файлы, которые, если вы строите одно и то же решение дважды подряд, обнаруживают, что ничего не изменилось, и, кажется, не проходят через сборку решения , Означает ли это, что он знает, что в проекте ничего не изменилось и не должен создавать новый вывод DLL?
Если это так, у меня есть вопрос. Скажем, у меня есть решение с несколькими библиотеками классов и задачей MSBuild в каждом проекте, которая автоматически увеличивает версию сборки путем изменения AssemblyInfo.cs. Дело в том (если мое предыдущее предположение верно), оно делает это каждый раз и запускает новое пересборка каждой библиотеки классов. Есть ли в MSBuild цель или свойство, которое может сказать, нужно ли проекту перекомпиляции, и пропустить мой шаг контроля версий, если так?
Я спрашиваю, потому что, скажем, я обновляю проект A, но не проект B в решении. Если я запускаю сборку решения, я хочу, чтобы он обновил версию в проекте A, но, поскольку проект B не изменился, я хочу оставить его в покое.