Visual Studio如何填充解决方案资源管理器中的“依赖项”节点

时间:2018-10-25 12:41:45

标签: msbuild .net-core dotnet-sdk

我正在编写自定义MSBuild目标,它在特定条件下将<PackageReference>中的部分<ProjectReference>替换为<Target Name="ApplyProjectRedirects" BeforeTargets="_GenerateDotnetCliToolReferenceSpecs;_GenerateProjectRestoreGraphPerFramework;_GenerateRestoreGraphWalkPerFramework;CollectPackageReferences;BeforeResolveReferences;ResolveAssemblyReferences" AfterTargets="PaketRestore">

我有以下msbuild目标:

    <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>

                                       

<ItemGroup>

我的项目引用在Visual Studio依赖关系中不可见。但是,项目会按预期进行编译。

我发现,当目标在<PackageReference>之前运行时,目标中包含CollectPackageReferences的{​​{1}}受到尊重。但是,我无法用任何目标(甚至第一个目标)填充<ProjectReference>

Visual Studio如何用解决方案项目填充依赖项?

0 个答案:

没有答案