我对Nuget不太熟悉,尤其是对于VC ++。我意识到我需要将Curl添加到我的可执行文件中,只是因为它使用Curl链接了一个库。 所以我编辑了.exe的package.config:
<package id="Curl" version="7.59.0.0" targetFramework="native" />
<package id="Curl.redist" version="7.59.0.0" targetFramework="native" />
但是再次我必须进入VS中的Nuget控制台才能首先更新/恢复内容。为什么这不是自动发生的?可以使它那样工作吗?
更糟糕的是,运行update-package
告诉我不需要更新。我每次都必须重新安装它们。
答案 0 :(得分:0)
为什么这不是自动发生的?有可能使其工作吗 这样吗?
如 zivkan 所述,手动编辑packages.config不是有效的工作流程,因此不会自动发生。而且,如果您必须通过手动adding and editing
packages.config
文件以这种方式使用nuget软件包,则可以right-click the solution in solution explorer
并单击Restore Nuget Packages
首先恢复软件包。
运行update-package告诉我不需要更新
对于Curl
,在Nuget Gallery中,只有7.30.0.2
(最新)版本取决于Curl.redist-7.30.0.2
版本。我不确定在哪里可以找到7.59.0
版本(似乎已经发布,请参见here),但是显然它没有发布到nuget.org
。因此,当您尝试从nuget console
或上述解决方案的Restore Nuget packages
选项中的可用nuget源还原nuget程序包时,会得到no updates required
或类似unable to find version 7.59.0 of package curl
的错误。
要解决此问题,您可以转到Tools menu=>Nuget Package Manager=>Package Manager Settings=>Package Sources
来配置查找7.59.0 version of Curl
的源。然后,您可以使用Restore nuget packages
选项轻松地为解决方案中的所有项目还原它们。或者,您可以尝试将版本7.59.0.0
更改为nuget.org中完全可用的7.30.0.2
。