VS2022中通过Package Manager Console安装NuGet包时绑定重定向更新失败
解决VS2022中NuGet安装时绑定重定向更新失败的问题
问题重现
在VS2022的Package Manager Console执行以下命令安装NuGet包:
Install-Package -ProjectName ### -Id Package -Version 1.0.0 -Source nuget.org
触发如下错误警告:
.. Added package 'Package.1.0.0' to 'packages.config' Successfully installed 'Package 1.0.0' to ConsoleApp1 Failed to update binding redirects for ConsoleApp1\ConsoleApp1.csproj : Exception has been thrown by the target of an invocation. Executing nuget actions took 21.27 sec
已知条件:
- 项目为空,无app/web.config文件
- 个人机器同结构空项目安装无此问题
- VS2019中无该现象
- 尝试添加
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>到项目文件无效
解决方案
手动添加空配置文件
绑定重定向更新逻辑默认依赖配置文件存在,即使是空项目,手动添加对应类型的空配置文件:- 控制台/类库项目:添加
App.config - Web项目:添加
Web.config
添加后重新执行NuGet安装命令,若后续不需要该文件,可删除,但需注意后续更新Nu包可能再次触发问题,建议保留空文件。
- 控制台/类库项目:添加
完善项目文件的禁用配置
单独设置<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>可能不足以完全禁用绑定重定向生成,需确保配置放置在项目文件的<PropertyGroup>节点内,并补充额外配置:
<PropertyGroup> <!-- 保留原项目的TargetFramework等配置 --> <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects> <GenerateBindingRedirectsOutputType>false</GenerateBindingRedirectsOutputType> </PropertyGroup>
修改后保存项目文件,重新加载项目后再执行安装命令。
清理VS2022相关缓存
- 清理NuGet本地缓存:打开Package Manager Console执行
nuget locals all -clear - 关闭VS2022,删除
%LOCALAPPDATA%\Microsoft\VisualStudio\17.0_*\ComponentModelCache目录下的所有文件(17.0_*对应VS2022的版本子目录) - 重新打开VS,尝试安装NuGet包
- 清理NuGet本地缓存:打开Package Manager Console执行
更新VS2022到最新版本
该问题可能是VS2022特定版本的兼容性bug,通过VS顶部菜单的「帮助」->「检查更新」,将VS2022升级到最新稳定版后重试安装操作。
内容的提问来源于stack exchange,提问作者Unnamed
相关产品推荐
相关产品推荐

