Опять же, мне кажется, что я не совсем понял в своем вопросе: мне не нужно добавлять пользовательские цели сборки (или на самом деле я делаю, и я уже сделал это), я просто должен проверить, уже импортированы ли они. Таким образом, я также не могу проверить, установлены ли свойства, поэтому я буду проверять не загруженные проекты.

ужно, чтобы все проекты в решении содержали некоторые дополнительные действия по сборке, например, Валидация StyleCop, автогенерация AssemblyInfo и т. Д.

Моя идея состоит в том, чтобы сделать какое-то событие предварительной сборки для всего решения, которое проверит все файлы проекта на наличие узлов, соответствующих конкретному xPath. Это не сложная часть, ее можно решить либо с помощью пользовательской задачи сборки, либо с помощью какой-либо сторонней задачи обработки Xml. Я еще не исследовал это глубоко, но это определенно не сделает проблему достойной упоминания здесь.

Вопросы как
1) расширить файл решения с некоторыми пользовательскими задачами? Это не должно быть необходимой неотъемлемой частью решения. Это желательно, но может быть опущено при сборке из VS, для этого достаточно иметь определенную командную строку, которая его выполняет.
2) если это невозможно, есть вариант, описанный вКомплексное событие перед сборкой?". Хакерство, но если других вариантов нет, я воспользуюсь им. Но как получить список файлов проекта из файла решения? Пожалуйста, примите во внимание, что в папке, содержащей решение, могут быть дополнительные файлы проекта, которые не должны будьте внимательны, поэтому просто перечислите все ***. * proj не вариант.

Постскриптум Любые другие варианты для всей проблемы тоже приветствуются :)

Ответы на вопрос(1)

Ваш ответ на вопрос