Кажется, что есть простой способ сделать это:
<Target Name="GatherReferences" DependsOnTargets="ResolveReferences">
<ItemGroup>
<MyReferencedAssemblies Include="@(ReferencePath)" />
</ItemGroup>
</Target>
После этого группа элементов MyReferencedAssemblies
содержит коллекцию всех ссылочных библиотек DLL (полные пути, все виды).Он также работает для PackageReference
импорта в новом формате .csproj
.Важным моментом является то, что @(ReferencePath)
не пусто только после завершения ResolveReferences
.