Как создать пакет nuget для родного С++

Я хочу опубликовать пакет о sdl_mixer, это нативный пакет. Я сделал, как сказал учебник. я поместил файлы .dll .h и .lib в содержимое пакета , но окончательный пакет не сработал. Каков правильный способ создания пакета c++ nuget?

другой вопрос, который я нашел в nuget, большинство нативных пакетов c++ были опубликованы в двух пакетах, например:

sdl2_ttf.v140

sdl2_ttf.v140.redist

так в чем же разница между этими двумя файлами? и как я могу опубликовать такой пакет?

---------------------------------------Обновить---------- --------------------------

когда я делаю что-то вроде учебника, говорилось о том, как опубликовать нативный пакет. Я написал следующее autopkg file

 

Ответ 1

Вы можете использовать инструменты CoApp PowerShell, чтобы легко создавать пакеты Native Nuget.

Создание собственных пакетов

Если вы заинтересованы в публикации своего родные библиотеки через NuGet, вы можете создать NuGet пакеты вручную. Тем не менее, theres более легкий путь - проект CoApp добровольно предложил писать инструменты, ориентированные на С++, для создания пакетов NuGet и они выпустили бета-версию своих инструментов. Эти инструменты упрощают процесс генерации файлов MSBuild и пакетов NuGet из существующие файлы заголовков и библиотек - вам просто нужно создать конфигурации script для описания содержимого пакета, а затем запустите инструменты для создания пакета NuGet.

Для получения более подробной информации обратитесь к этой ссылке: Поддержка собственных проектов

Ответ 2

Я искал несколько дней, пока не обнаружил, что в интернете вообще нет никакой помощи. Мне удалось собрать вместе, как это сделать, и методом проб и ошибок все заработало хорошо. Который я задокументировал здесь:

https://digitalhouseblog.wordpress.com/2019/08/22/how-to-make-a-nuget-package-for-c/

Но я все равно здесь подведу итоги:

  • Соберите или поместите файлы своей нативной библиотеки в папку вашего Выбор.
  • Создайте файл *.nuspec в этой папке.
  • Отредактируйте файл *.nuspec, чтобы включить файлы, которые вы хотите включить в ваш пакет.
  • Создать файл *.props
  • Вызовите пакет nuget, чтобы создать пакет.
  • Переместите пакет nuget в канал где-нибудь.
  • Создайте файл packages.config.
  • Отредактируйте файл проекта Visual Studio для импорта файла *.props

Обратите внимание, что инструменты nuget внутри Visual Studio IDE НИКОГДА не используются. Вы должны сделать много вручную. Смотрите ссылку для более подробной информации и объяснений.