MSBuild получить ссылку на сборку из ProjectReference

Я пишу задачу MSBuild, которая добавляет генерацию кода в стандартный проект C # (.csproj). Задача должна получить доступ к типам в сборках, на которые ссылается этот проект.

Это просто для ссылок на сборку (получить все элементы в <Ссылка>), но становится сложнее для ссылок на другие проекты (<ProjectReference>)

Предоставляет ли MSBuild способ получения ссылки на скомпилированную сборку из <ProjectReference>?

Если нет, есть ли простой способ разрешить это имя, прочитав файл .csproj?

Файл .csproj напрямую не предоставляет скомпилированный путь сборки, его необходимо восстановить из других свойств. Кроме того, некоторые свойства являются условными (в зависимости от конфигурации отладки / выпуска), поэтому использование простого читателя XPath нет работа:

Имя файла Dll можно получить из <AssemblyName>, но путь к файлу Dll записан в


  ;bin\Release

Есть ли способ программно прочитать файл .csproj и определить правильное значение OutputPath, оценив все условия?

Мне нужно решение, в котором указанные файлы .csproj остаются обычными старыми проектными файлами (без изменений в файлах csproj, которые бы добавляли необходимую информацию в более доступной форме)

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

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