我正在尝试在此网页上安装详细的NuGet包:https://docs.microsoft.com/en-us/azure/storage/storage-c-plus-plus-how-to-use-blobs
供参考,说明如下:
Windows:在Visual Studio中,单击“工具”> NuGet包管理器>包管理器控制台。在NuGet包管理器控制台中键入以下命令,然后按ENTER键。
这有效......有点儿。该软件包在本地下载,但该引用未添加到我的项目中。当我手动或从PM控制台安装软件包时,不会添加任何引用。
说明我已经能够找到(例如here),只是坚持要自动添加引用。它的工作原理很棒,但它不提供调试参考点或如何手动添加它们。
我还有其他选择吗?
感谢。
答案 0 :(得分:1)
该引用未添加到我的项目中。当我手动或从PM控制台安装软件包时,不会添加任何引用
这是因为 NuGet无法直接添加对本机项目的引用,\ lib文件夹中无法识别“本机”目标框架。 有关详细信息,请参阅Support for Native Projects。
此外,在安装了wastorage包后,您会注意到 blob.h 和 storage_account.h 已添加到外部依赖项中:
然后,您可以成功将以下include语句添加到C ++文件的顶部,以便使用Azure存储API访问blob:
#include <was/storage_account.h>
#include <was/blob.h>
更新: 根据JuniorIncanter评论,在.vcxproj中添加.targets和.props文件:
<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')" />
答案 1 :(得分:0)
对于那些偶然发现问题的人来说,没有可行的解决方案。问题出现是因为我正在创建一个UAP应用程序,并且给定的Nuget包没有UAP支持。此时,为了继续,我必须下载Nuget包的源代码并使用-ZW标志重新编译它。
见这里:https://msdn.microsoft.com/en-us/library/mt186162.aspx
如果您有DLL或静态库的源代码,则可以使用/ ZW重新编译为UWP项目。