如何解决Windows Server 2019上VS2022编译Azure DevOps代码时的MSB3644错误
错误MSB3644(缺少.NET Framework v4.5引用程序集)解决方案
##[error]C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(1217,5): Error MSB3644: 未找到.NETFramework,Version=v4.5的引用程序集。要解决此问题,请安装对应框架版本的开发者包(SDK/Targeting Pack),或重定应用程序的目标。你可以在以下地址下载.NET Framework开发者包:...
方案1:安装.NET Framework 4.5目标包(无需改动项目配置,推荐)
- 打开Visual Studio 2022安装程序,点击「修改」进入组件配置界面
- 切换到「单个组件」标签页,在
.NET分类下找到「.NET Framework 4.5 目标包」并勾选 - 点击右下角「修改」等待安装完成,重启Visual Studio后重新执行编译即可
如果VS安装源未提供该组件,可直接本地安装.NET Framework 4.5开发者包,安装完成后会自动注册到Visual Studio的可用目标框架列表中。
方案2:重定向项目目标框架版本(无需安装旧版本组件)
如果项目可以兼容更高版本的.NET Framework,可通过修改项目配置解决:
- 右键点击报错的项目,选择「属性」
- 在「应用」标签页的「目标框架」下拉菜单中,选择当前环境已安装的兼容.NET Framework版本(如4.7.2、4.8等)
- 保存配置后重新编译即可
注意:重定向前需确认项目代码未依赖.NET Framework 4.5独有的API,避免出现兼容性问题。
Azure DevOps场景特殊检查
如果是在Azure DevOps流水线中触发的编译任务,需额外确认:
- 流水线代理所在的Windows Server 2019环境已安装.NET Framework 4.5目标包,或流水线配置中指定的MSBuild版本、目标框架参数与项目配置一致
- 编译.NET Framework项目时需使用桌面版MSBuild工具链,不要使用.NET Core版本的MSBuild
内容的提问来源于stack exchange,提问作者Debashisenator
相关产品推荐
相关产品推荐

