Как Visual Studio заполняет узел "Зависимости" в обозревателе решений

Я пишу пользовательский MSBuild Target, который заменяет некоторые <PackageReference> за <ProjectReference>при определенных условиях.

У меня есть следующая цель msbuild:

<Target Name="ApplyProjectRedirects"
      BeforeTargets="_GenerateDotnetCliToolReferenceSpecs;_GenerateProjectRestoreGraphPerFramework;_GenerateRestoreGraphWalkPerFramework;CollectPackageReferences;BeforeResolveReferences;ResolveAssemblyReferences"
      AfterTargets="PaketRestore">

    <ItemGroup>
      <!-- remove packages we are redirecting to projects, and include the projects -->
      <PackageReference Remove="@(ExcludePackageReferences)" />
      <ProjectReference Include="@(IncludeProjectPaths)" />
    </ItemGroup>

    <ItemGroup>
      <!-- include the packages in visual studio 'nuget' display, so we know what we redirected -->
      <PackageReference Include="@(ExcludePackageReferences)">
        <ExcludeAssets>all</ExcludeAssets>
      </PackageReference>
    </ItemGroup>

</Target>

И ссылки на мои проекты невидимы в Visual Studio Dependencies. Проект компилируется, как задумано, однако.

я узнал что <ItemGroup> с <PackageReference> внутренняя цель соблюдается, когда цель запускается раньше CollectPackageReferences, Однако я не смог заполнить <ProjectReference> с любой целью, даже первой.

Как Visual Studio заполняет зависимости проектами решений?

0 ответов

Другие вопросы по тегам