Файлы содержимого в пакете Nuget, который ссылается на другой пакет Nuget - PullRequest
0 голосов
/ 13 марта 2020

Контекст
В настоящее время я делаю несколько пакетов nuget, которые зависят друг от друга. Каждый пакет nuget содержит свой собственный список файлов содержимого, которые следует скопировать в выходной каталог проекта, в который входит пакет.

Итак, допустим, у меня есть следующие 2 пакета

  • Базовый пакет
    • resource / contentFileBase. json
  • Пакет утилит
    • resource / contentFileUtilities. json
    • ссылается на базовый пакет

В обоих проектах csproj-файлов я определил следующие записи для файлов содержимого

В базе:

<Content Include="resource/contentFileBase.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
      <PackageCopyToOutput>true</PackageCopyToOutput>
</Content>

В утилитах:

<Content Include="resource/contentFileUtilities.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
      <PackageCopyToOutput>true</PackageCopyToOutput>
</Content>

Теперь я упаковываю и базовый пакет, и пакет утилит, используя dotnet pack. Будет сгенерирован результирующий nuspe c для пакета Utilities:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>Utilities</id>
    <version>0.0.1</version>
    <dependencies>
      <group targetFramework=".NETCoreApp2.2">
        <dependency id="base" version="0.0.1" exclude="Build,Analyzers" />
      </group>
    </dependencies>
    <contentFiles>
      <files include="any/netcoreapp2.2/resources/contentFileUtilities.json" buildAction="Content" copyToOutput="true" />
      <files include="any/netcoreapp2.2/contentFileBase.json" buildAction="Content" />
    </contentFiles>
  </metadata>
</package>

Проблема
Как вы видите в результирующем файле nuspe c для пакета утилит, его правильно включает contentFileUtilities. json в качестве элемента contentFile. contentFileBase.json также входит в этот nuspe c только с buildAction и , а не copyToOutput. Я sh файлы из базы также копируются в выходной каталог, ссылаясь только на пакет утилит

Кто-нибудь знает, как я могу решить эту проблему?

Вот демонстрационный проект я создано с вопросом: https://github.com/Bramvanelderen10/nugetdemoi

Вот скриншот с настройкой и проблемой: enter image description here

...