c++ - “在 C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\ 中找不到版本 4.1.1 的包 System.Net.Http。”
问题描述
我正在尝试评估用于显示 PDF 文件的软件 SDK。它附带了一些示例项目,但我在构建 C++ 项目时遇到了问题。我很确定这是我本地环境的问题,但我不知道如何解决它:
这些项目作为 Visual Studio 解决方案提供,将在 Visual Studio 2017 中使用。第一次打开它时,我被告知要安装缺少的功能(VS17 是一个简单的安装,之前没有工作负载):
在安装了它,并使用了平台工具集和通用平台目标设置之后,我终于可以构建 C++ 库部分,该部分创建一个.dll
供其他 2 个 C++ 项目使用的文件。(我还可以确认这可以正常工作,因为还包含的 C# 项目完美地使用了该库。)
但是对于剩下的 2 个 C++ 项目,我在构建时收到此错误:
The package System.Net.Http with version 4.1.1 could not be found in C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\. Run a NuGet package restore to download the package.
FunctionDemo
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.targets
377
不幸的是,我不知道“使用 NuGet 包还原下载它们”是什么。Manage NuGet Packages...
意味着在这种情况下 -在 Visual Studio 中使用时,解决方案和所有项目都没有列出任何内容。所以我什至不知道这种依赖来自哪里。(可能是我安装的通用 SDK 的那些部分吗?)
双击错误消息打开C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.targets
:
<ResolveNuGetPackageAssets Condition="Exists('$(FrameworkInjectionLockFile)')"
NuGetPackagesDirectory="$(FrameworkInjectionPackagesDirectory)"
RuntimeIdentifier="$(NuGetRuntimeIdentifier)"
TargetMonikers="$(NuGetTargetMonikerToInject)"
ProjectLockFile="$(FrameworkInjectionLockFile)">
但我想这是相当标准的。这是否告诉我错误来自哪里?
在文件系统C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\System.Net.Http\4.1.1
上确实不存在。任何尝试手动填充它(手动将 nuget 包下载到项目,并在此处复制结果,使用我可以在网上找到的任何解决方案或命令运行)都失败了。
如果发现这C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
是Microsoft Visual Studio Offline Packages
我可以在 Visual Studio 2017 中通过选项 -> NuGet 包管理器 -> 包源查看的包源,但禁用它并没有改变有关错误消息的任何内容。
我找错地方了吗?
这真的是我的本地问题还是项目问题?
我该如何解决这个问题?
解决方案
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\System.Net.Http\4.1.1
我通过从另一个开发人员那里获取文件夹来“修复”这个问题。然后错误消息切换到其他包,所以最后他给我发了他的完整的C:\Program Files (x86)\Microsoft SDKs\NuGetPackages
,我复制了文件夹,直到它最终建成。
仍然不知道是什么原因造成的,一定是缺少 Visual Studio 认为已安装但实际上没有安装的有效负载或 SDK:/
尽管希望有人知道真正的解决方法,但仍保留未回答的问题。
推荐阅读
- azure - Azure:基于 SAML/WS-Fed 的身份提供者联合与标准 SAML
- php - 如何更改 PHP 文件中嵌入 HTML 的样式?
- azure - 如何解决我的 Azure VM 成本问题?
- php - 为什么将 WAMPServer 的 PHP 从 7.3.12 升级到 7.4.0 会导致 Argon2i 错误?
- docker - 使用相同的代码部署多个容器(Docker)
- c++ - 如何使用 MSBuild 目标运行 c++ 函数?
- jquery - 数据表响应并注册单击单元格中的链接
- python - 将多个类方法应用于对象列表的 Pythonic 方式
- android - Chromecast 选择器对话框的 BottomSheetDialog
- token - 在币安智能链上创建慈善代币?