Как настроить помощники PrivateAssets AKA * .Sources для существующих пакетов - PullRequest
0 голосов
/ 10 января 2019

Я пишу внутренних помощников компании для Json.Net

  <Project>

  <Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <Version>1.0.0</Version>
    <PackageId>JsonNet.Extensions.Sources</PackageId>
    <IsPackable>true</IsPackable>
    <IncludeBuildOutput>false</IncludeBuildOutput>
    <ContentTargetFolders>contentFiles</ContentTargetFolders>
    <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo> 
    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
    <NoWarn>CS8021</NoWarn>
    <NoBuild>true</NoBuild>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
  </PropertyGroup>

  <ItemGroup>
    <Compile Update="@(Compile)">
      <Pack>true</Pack>
      <PackagePath>$(ContentTargetFolders)\cs\netstandard2.0\$(PackageId)\</PackagePath>
    </Compile>
    <EmbeddedResource Update="@(EmbeddedResource)">
      <Pack>true</Pack>
      <PackagePath>$(ContentTargetFolders)\any\any\$(PackageId)\%(RecursiveDir)\</PackagePath>
    </EmbeddedResource>
  </ItemGroup>

  <ItemGroup>
    <PackageReference Remove="@(PackageReference)" />
  </ItemGroup>

  <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />

  <Target Name="Compile" />
  <Target Name="CopyFilesToOutputDirectory" />

</Project>

в целевой библиотеке он прикреплен как

<PackageReference Include="JsonNet.Extensions.Sources" PrivateAssets="All" Version="1.0.0-*" />

но это требует от разработчиков всегда добавлять ссылку на Json.Net, потому что, если я добавлю ссылку на нее в файле проекта, она будет добавлена ​​в целевые библиотеки как PrivateAssets тоже

Как добавить такой пакет Sources с Json.Net как обычный пакет?

...