Я пытаюсь установить пакет NuGet, подробно описанный на этой веб-странице: https://docs.microsoft.com/en-us/azure/storage/storage-c-plus-plus-how-to-use-blobs
Для справки:
Windows: в Visual Studio выберите Инструменты> Диспетчер пакетов NuGet> Консоль диспетчера пакетов. Введите следующую команду в консоли диспетчера пакетов NuGet и нажмите клавишу ВВОД.
Это работает … вроде. Пакет загружается локально, но ссылка не добавляется в мой проект. Когда я устанавливаю пакет вручную или из консоли PM, ссылка не добавляется.
Инструкции, которые я смог найти (например, Вот) просто настаивайте на том, что ссылки будут автоматически добавлены. Это замечательно, когда работает, но не предоставляет ни отладочной контрольной точки, ни способа их добавления вручную.
Есть ли другие варианты, которые я пропускаю?
Благодарю.
ссылка не добавляется в мой проект. Когда я устанавливаю пакет вручную или из консоли PM, ссылка не добавляется
Это потому NuGet не может напрямую добавлять ссылки на собственные проекты, «родная» целевая структура не распознается в папке \ lib.
Для получения подробной информации, вы можете обратиться к Поддержка родных проектов.
Кроме того, после установки пакета wastorage вы заметите, что blob.h а также storage_account.h были добавлены к внешним зависимостям:
Затем можно успешно добавить следующие операторы включения в начало файла C ++, где вы хотите использовать API хранилища Azure для доступа к BLOB-объектам:
#include <was/storage_account.h>
#include <was/blob.h>
Обновить:
Согласно комментарию JuniorIncanter, добавьте файлы .targets и .props в .vcxproj:
<ImportGroup Label="ExtensionTargets">
<Import Project="..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" />
<Import Project="..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" />
<Import Project="..\packages\wastorage.v120.3.0.0\build\native\wastorage.v120.targets" Condition="Exists('..\packages\wastorage.v120.3.0.0\build\native\wastorage.v120.targets')" />
<Import Project="..\packages\wastorage.v140.3.0.0\build\native\wastorage.v140.targets" Condition="Exists('..\packages\wastorage.v140.3.0.0\build\native\wastorage.v140.targets')" />
Для тех, кто сталкивается с вопросом, не существует рабочего решения. Проблема возникла из-за того, что я создавал приложение UAP, а данный пакет Nuget не имеет поддержки UAP. На этом этапе, чтобы продолжить, я должен загрузить исходный код пакета Nuget и перекомпилировать его с флагом -ZW.
Посмотреть здесь: https://msdn.microsoft.com/en-us/library/mt186162.aspx
Если у вас есть исходный код для DLL или статической библиотеки, вы можете перекомпилировать с / ZW как проект UWP.