Как исключить все файлы содержимого? - PullRequest
0 голосов
/ 03 июля 2018

Как использовать NuGet 4.6.2, как исключить все файлы содержимого при создании пакета из файла проекта с помощью PackageReference?

Я запускаю эту команду как событие postbuid:

$(SolutionDir)\.nuget\nuget pack $(ProjectPath) -IncludeReferencedProjects -properties Configuration=$(ConfigurationName) -symbols

Я попробовал этот файл nuspec:

<package>
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>$author$</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$description$</description>
    <releaseNotes></releaseNotes>
    <copyright>$copyright$</copyright>
    <tags></tags>
    <contentFiles>
      <files include="**\*.*" exclude="**\*.*" />
    </contentFiles>
  </metadata>
  <files>
    <file src="**\*.*" target="content" exclude="**\*.*" />
  </files>
</package>

Но файлы содержимого всегда находятся в пакете

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Как исключить все файлы содержимого?

Использование пустого узла файлов в .nupsec действительно эффективный метод.

В качестве альтернативы вы можете добавить дополнительные метаданные к существующему элементу <Content>, чтобы переопределить его записями, подобными следующим:

  <ItemGroup>
    <Content Include="Test.txt">
      <Pack>false</Pack>
    </Content>
  </ItemGroup>

Подробнее см. pack packs .

Надеюсь, это поможет.

0 голосов
/ 03 июля 2018

Просто используйте пустой узел для files

<package>
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>$author$</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$description$</description>
    <releaseNotes></releaseNotes>
    <copyright>$copyright$</copyright>
    <tags></tags>
  </metadata>
  <files />
</package>
...