无法安装 Nuget 包

Posted

技术标签:

【中文标题】无法安装 Nuget 包【英文标题】:Can't Install Nuget Package 【发布时间】:2019-04-15 13:50:11 【问题描述】:

我正在尝试安装System.Runtime.Handles,这样我就可以使用SafeAccessTokenHandleRunImpersonated,但是当我尝试安装软件包时出现错误:

无法安装包“System.Runtime.Handles 4.3.0”。您正在尝试将此包安装到以“.NETFramework,Version=v4.5.2”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。如需更多信息,请联系包作者。

我做了一些研究,但我不相信有.NETFramework, Version=v4.3.0。有人知道如何安装这个包吗?

【问题讨论】:

4.3.0 指System.Runtime.Handles 版本;检查here:该包需要.NET 4.6.0。您需要更新项目配置以支持该版本。 好的,我尝试安装 .NET 4.6.0,它说它已经安装了。所以我检查了一下,看起来我安装了 4.7.1。当我将项目更改为使用 4.6.0 时,它告诉我必须安装它。 @parrigin777 您可能需要“定位包”:microsoft.com/en-us/download/details.aspx?id=48136 @parrigin777 两个问题:您的 Visual Studio 版本是多少?以及您如何更改项目的 .NET 框架目标版本? @MarcGravell 我通过提供的链接下载并安装了两个可执行文件,但仍然提示我需要安装 v4.6.0 【参考方案1】:

我做了一些研究,但我不相信有一个 .NETFramework,Version=v4.3.0。有人知道如何安装这个包吗?

首先,您必须确保 NuGet Package Manager for Visual Studio 2013 的版本是最新版本 2.12.0.817,而不是默认版本 2.8。你可以从Tools->Extensions and Updates->Installed查看。

因为这个 nuget 包需要 NuGet 2.12 或更高版本。

其次,您应该确保您已经安装了 .net 4.6 及更高版本。您不应通过卸载项目、打开项目文件、更改目标框架然后重新加载文件来更改框架版本。通过这种方式,Visual Studio 无法帮助检查您是否安装了该目标框架。你应该在项目中选择Properties->Application->Target framework:

如果你没有目标框架.net 46,你可以点击安装其他框架来安装它。对于这个问题,您可以直接将您的目标框架更改为 4.7.1。

希望这会有所帮助。

【讨论】:

我这样做了,现在我在运行时收到错误消息:解析器错误消息:Web.config 文件的 元素中的 'targetFramework' 属性仅用于目标版本 4.0 和.NET Framework 的更高版本(例如,'')。 'targetFramework' 属性当前引用的版本晚于已安装的 .NET Framework 版本。指定 .NET Framework 的有效目标版本,或安装所需版本的 .NET Framework。 @parrigin777,很抱歉这么晚才回复。您的网站项目似乎针对 .Net Framework 的 v4.6,但您的托管服务提供商尚未安装此版本。检查***.com/questions/33412042/…

以上是关于无法安装 Nuget 包的主要内容,如果未能解决你的问题,请参考以下文章

由于请求错误,无法安装 nuget 包

由于“无法初始化 PowerShell 主机”而无法安装 nuget 包

无法安装 NuGet 包:回退到 NuGet 本地缓存 [重复]

无法卸载/重新安装 NuGet 包

无法删除 MSVS 2019 中解决方案的已安装 Nuget 包

由于“无法初始化PowerShell主机”,无法安装nuget包