You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS 2019专业版编译Web应用报错MSB4226:目标文件未找到

VS 2019专业版编译时找不到Microsoft.WebApplication.targets的解决办法

我之前碰到过一模一样的问题,你的分析其实已经命中了核心——项目里的通配符导入语句触发了VS2019加载v15.0版本的props文件,导致VSToolsPath指向了不存在的目录。下面是具体的解决思路和步骤:

问题根源复盘

你的项目里的这行导入语句:

<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualStudioVersion.v*.Common.props" Condition="'$(VSToolsPath)' == ''" />

使用了通配符v*,而VS2019的MSBuild\Current目录下恰好存在Microsoft.VisualStudioVersion.v15.Common.props文件,加载它后会把VisualStudioVersion设为15.0,最终VSToolsPath指向了不存在的v15.0目录,而实际VS2019对应的是v16.0版本。

具体解决方案

1. 修改项目文件,明确指定v16版本

直接把导入语句里的通配符替换为v16,让项目加载正确版本的props文件:

<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualStudioVersion.v16.Common.props" Condition="'$(VSToolsPath)' == ''" />

修改后重新编译,VSToolsPath会自动指向C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VisualStudio\v16.0,这个目录里的WebApplications文件夹应该包含你需要的Microsoft.WebApplication.targets文件。

2. 确认ASP.NET和Web开发组件已安装

如果修改项目后还是找不到文件,大概率是你没安装VS2019的ASP.NET和Web开发工作负载:

  • 打开VS2019的安装程序(可以在开始菜单里找到“Visual Studio Installer”)
  • 找到你安装的VS2019专业版,点击“修改”
  • 在工作负载列表里勾选“ASP.NET和Web开发”,然后点击“修改”完成安装
  • 安装完成后,检查C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VisualStudio\v16.0\WebApplications目录是否存在,里面应该有Microsoft.WebApplication.targets

3. 命令行编译时手动指定VSToolsPath(临时方案)

如果不想修改项目文件,可以在使用MSBuild命令编译时,手动指定正确的VSToolsPath:

msbuild YourSolution.sln /p:VSToolsPath="C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VisualStudio\v16.0"

内容的提问来源于stack exchange,提问作者mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:35:43