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

Собственный пакет содержит двоичные файлы машинного кода, а не управляемые сборки, что позволяет использовать его в проектах C++ (или аналогичных). (См. Собственные пакеты C++ в разделе "Использование".)

Для использования в проекте C++ пакет должен быть ориентирован на платформу native. Сейчас нет номеров версий, связанных с этой платформой, так как NuGet обрабатывает все проекты C++ одинаково.

Примечание

Не забудьте включить native в раздел <tags> вашего .nuspec, чтобы помочь другим разработчикам найти ваш пакет по этому тегу.

Собственные пакеты NuGet, ориентированные на native, предоставляют файлы в папках \build, \content и \tools; \lib в этом случае не используется (NuGet не может добавлять ссылки непосредственно на проект C++). Пакет может также содержать целевые объекты и файлы свойств в \build, которые NuGet автоматически импортирует в проекты, использующие этот пакет. Эти файлы должны называться так же, как и идентификатор пакета, и иметь расширения .targets и (или) .props. Например, пакет cpprestsdk содержит файл cpprestsdk.targets в своей папке \build.

Папку \build можно использовать для всех пакетов NuGet, а не только для собственных пакетов. Папка \build учитывает целевые платформы так же, как и папки \content, \lib и \tools. Это означает, что вы можете создать папку \build\net40 и папку \build\net45, и NuGet импортирует необходимые файлы свойств и целевых объектов в проект. (Использовать скрипты PowerShell для импорта целевых объектов MSBuild не требуется.)