.NET 6项目执行dotnet build报错找不到Microsoft.WebApplication.targets
问题原因
Visual Studio构建时使用自身自带的MSBuild工具链,该工具链包含Web应用所需的Microsoft.WebApplication.targets文件(通常位于VS安装目录下)。而dotnet build命令依赖的是.NET SDK内置的MSBuild,你的项目文件中硬编码了指向dotnet SDK目录下的VS专属targets路径,该路径本身不存在,因此命令行构建触发报错。
修复方法
修正项目文件中的导入路径:打开
MyProject.csproj,定位到第1217行的Import节点,将硬编码路径替换为基于MSBuild属性的动态路径:<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />$(VSToolsPath)会根据当前构建环境自动定位到正确的targets文件路径,Visual Studio和dotnet build均可识别。安装必要构建组件:如果是ASP.NET Web Forms类项目,确保已安装包含Web开发组件的Visual Studio Build Tools,或在.NET SDK中补充安装ASP.NET Core相关运行时与构建组件,让
dotnet build能找到所需的targets文件。切换至Visual Studio专属MSBuild构建:若项目依赖Visual Studio专属构建工具,可打开Visual Studio开发者命令提示符,直接执行
msbuild MyProject.csproj命令完成构建,替代dotnet build。
内容的提问来源于stack exchange,提问作者Suraj Menon
相关产品推荐
相关产品推荐

