Как создать пакет 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 НИКОГДА не используются. Вы должны сделать много вручную. Смотрите ссылку для более подробной информации и объяснений.