Nuget包通过控制台安装但没有为C ++项目添加参考

时间:2017-03-30 17:49:19

标签: c++ visual-studio visual-studio-2015 nuget nuget-package

我正在尝试在此网页上安装详细的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),只是坚持要自动添加引用。它的工作原理很棒,但它不提供调试参考点或如何手动添加它们。

我还有其他选择吗?

感谢。

2 个答案:

答案 0 :(得分:1)

  

该引用未添加到我的项目中。当我手动或从PM控制台安装软件包时,不会添加任何引用

这是因为 NuGet无法直接添加对本机项目的引用,\ lib文件夹中无法识别“本机”目标框架。 有关详细信息,请参阅Support for Native Projects

此外,在安装了wastorage包后,您会注意到 blob.h storage_account.h 已添加到外部依赖项中:

enter image description here

然后,您可以成功将以下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项目。