Вы можете просто щелкнуть правой кнопкой мыши по каждому проекту и перейти к BuildDependencies> ProjectDependencies.
Предполагается, что вы не пытаетесь написать внешний анализатор проекта / создатель графика зависимостей.
Обновление согласно комментарию: Если вы выполняете статический анализатор кода (просмотрите файлы в решении) вы можете перебирать файлы .csproj и извлекать части, как показано ниже:
<ItemGroup>
<ProjectReference Include="..\xyz.Service.Client\xyz.Service.Client.csproj" />
<ProjectReference Include="..\xyz.Service.Interface\xyz.Service.Interface.csproj" />
<ProjectReference Include="..\xyz.Web.Interface\xyz.Web.Interface.csproj" />
</ItemGroup>
Вы можете сопоставить его с желаемой структурой dto и сохранить по своему желанию.Вот некоторый код, который может облегчить решение:
XNamespace msbuild = "http://schemas.microsoft.com/developer/msbuild/2003";
XDocument projDefinition = XDocument.Load(fullProjectPath);
IEnumerable<string> references = projDefinition
.Element(msbuild + "Project")
.Elements(msbuild + "ItemGroup")
.Elements(msbuild + "Reference")
.Select(refElem => refElem.Value);
foreach (string reference in references)
{
Console.WriteLine(reference);
}