Создание метапакета NuGet как проекта MSBuild

Есть ли реальный способ создать метапакет NuGet в виде msbuild .proj вместо непосредственного использования nuspec? Я хочу сделать это, чтобы использовать другие функциональные возможности MSBuild, включая PackageVersioning, в том числе файлы содержимого и т. Д.

Я имею в виду, что мне нужен простой проект для моего метапакета (скажем, MyMetaPackage.proj:

<Project>
      <Import Project="$(MSBuildSDKsPath)\NuGet.Build.Tasks.Pack\build\NuGet.Build.Tasks.Pack.targets" />
    <ItemGroup>
        <PackageReference Include="Microsoft.Azure.WebJobs" Version="3.0.0-beta5" PrivateAssets="None" />
        <PackageReference Include="Microsoft.Azure.WebJobs.Extensions" Version="3.0.0-beta5" PrivateAssets="None" />
        <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Http" Version="3.0.0-beta5" PrivateAssets="None" />
        <PackageReference Include="Microsoft.Azure.WebJobs.ServiceBus" Version="3.0.0-beta5" PrivateAssets="None" />
        <PackageReference Include="MyOtherPackage" Version="4.5.0" />
        <Content PackagePath="readme/$(PackageVersion).txt" Include="readme.txt" />
    </ItemGroup>
</Project>

Проблема в том, что MyMetaPackage.nupkg заканчивается тем, что в него импортируются все contentFiles и таможенные реквизиты / цели, которые портят его, даже если он предназначен только для метапакета - эти действия должны выполняться только для ПОТРЕБИТЕЛЕЙ MyMetaPackage.

Добавление PrivateAssets в MyMetaPackage.proj совсем не полезно, потому что тогда nuspec также исключает их, и они также не будут переданы потребителям.

0 ответов

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