Включение каталога сборки в пакет nuget с использованием пакета Visual Studio
В соответствии с документом Включение содержимого в пакет следует использовать свойства <Pack>true</Pack>
и<PackagePath>build\</PackagePath>
:
Если вы хотите скопировать весь свой контент только в определенные корневые папки (вместо content и contentFiles), вы можете использовать свойство MSBuild ContentTargetFolders, которое по умолчанию равно"content; contentFiles", но может быть задано любое другое имя папки.
PackagePath
может быть набором целевых путей, разделенных точкой с запятой.Указание пустого пути к пакету добавит файл в корень пакета.
Таким образом, вы можете изменить свою ItemGroup следующим образом:
<ItemGroup>
<None Include="build\**" Pack="True" PackagePath="build\" />
</ItemGroup>
Обновление:
Я считаю, что это то же самое, что я добавил, но в другой структуре XML и без атрибута Pack
Атрибут Pack
является ключевым моментом,Он отлично работает с вашей XML-структурой и атрибутом Pack.Убедитесь, что у вас есть файлы в папке build в папке вашего проекта :
Проверьте мое тестовое демо ниже:
Update2:
Ах!Вы используете проект .net framework
!!Вот причина этого вопроса.Этот метод используется для проектов .net standard
и .net core
по умолчанию и не работает для .net framework
.Чтобы решить эту проблему, вы должны использовать файл .nupsec
, как вы пишете в вопросе.
Если вы все еще хотите включить каталог сборки в пакет nuget с помощью пакета Visual Studio Pack , вам нужно изменить тип проекта на SDK type:
Проверьте этот документ для получения более подробной информации.
Затем вы можете использовать метод, о котором мы говорили ранее.
Надеюсь, это поможет.