Azure DevOps构建管道报MSB3644:找不到.NETFramework v4.6.2引用程序集
解决Azure DevOps构建管道中MSB3644错误(.NET Framework 4.6.2引用程序集缺失)
D:\Program Files (x86)\Visual Studio 2019\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(1217,5): Error MSB3644: 未找到.NETFramework,Version=v4.6.2的引用程序集。要解决此问题,请安装该框架版本的Developer Pack(SDK/目标包),或重新定向您的应用程序。
解决方法
方法1:在构建代理上安装.NET Framework 4.6.2 Developer Pack
- Microsoft托管代理:选择包含对应框架的代理镜像,若默认镜像缺失4.6.2,可在管道中添加Cmd任务自动安装:
choco install netfx-4.6.2-devpack -y - 自托管代理:直接下载安装.NET Framework 4.6.2 Developer Pack,完成后重启代理服务。
方法2:修改应用程序目标框架版本
- 打开项目文件(
.csproj/.vbproj),找到<TargetFrameworkVersion>节点,将其修改为构建代理已安装的.NET Framework版本(如4.7.2、4.8):<!-- 原配置 --> <TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> <!-- 修改为已存在的版本 --> <TargetFrameworkVersion>v4.8</TargetFrameworkVersion> - 修改后需验证应用程序兼容性,避免API调用异常。
方法3:通过MSBuild参数指定替代框架路径(临时方案)
- 若无法安装Developer Pack或修改目标框架,可在管道的MSBuild任务中添加
/p:FrameworkPathOverride参数,指定已兼容的框架引用路径:msbuild YourProject.csproj /p:FrameworkPathOverride="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8" - 此方法仅作临时 workaround,长期建议优先采用前两种方案。
内容的提问来源于stack exchange,提问作者Nishant Bangera
相关产品推荐
相关产品推荐

