Я создаю пакет NuGet с иерархией папок, которая выглядит следующим образом:
ProjectDir
Infrastructure
class1.cs
class2.cs
Task
class3.cs
class3.cs
StuffToInclude
SampleCode
sampleclass1.cs.pp
sampleclass2.cs.pp
Images
image1.gif
image2.gif
Doc
text1.txt
text2.txt
Project.nuspec
Обратите внимание, что файл nuspec создается просто с помощью команды "nuget spec", а затем добавляется следующий раздел файла:
<files>
<file src="StuffToInclude\**\*.*" target="content" />
</files>
Что бы я ожидал (и хочу), это папка содержимого в пакете, которая выглядит следующим образом:
content
SampleCode
sampleclass1.cs.pp
sampleclass2.cs.pp
Images
image1.gif
image2.gif
Doc
text1.txt
text2.txt
Однако я получаю немного большую папку с содержимым, которая содержит вторую копию папки «StuffToInclude», которая выглядит примерно так:
content
StuffToInclude
Images
image1.gif
image2.gif
Doc
text1.txt
text2.txt
SampleCode
sampleclass1.cs.pp
sampleclass2.cs.pp
Images
image1.gif
image2.gif
Doc
text1.txt
text2.txt
Обратите внимание, что в нежелательной папке StuffToInclude нет вложенной папки SampleCode - каким-то образом упаковщик nuget обнаружил, что файлы ".pp" не следует помещать в содержимое, если это явно не требуется. Но все эти другие файлы (во всех других папках) дублируются излишне, и нежелательно, чтобы они были там - потому что когда пакет используется, эта папка также дублируется в целевом проекте.
Я подумал, что, возможно, что-то подобное в nuspec поможет:
<files>
<file src="StuffToInclude\**\*.*" target="content" exclude="StuffToInclude\**\*.*"/>
</files>
но все варианты, которые я пробовал для атрибута "exclude", похоже, не помогают.
Как исключить файл "StuffToInclude" из папки содержимого?
Большое спасибо.