dotnet build报错找不到导入的项目“C:\Program Files\dotnet\sdk\x.x.xxx\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets
问题分析
在使用dotnet build命令编译项目时,出现错误
error MSB4019: 找不到导入的项目“C:\Program Files
\dotnet\sdk\8.0.303\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets”。请确认 Import 声明 “C:\Program Files\dotnet\sdk\8.0.303\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets”中的表达式正确,且文件位于磁盘上。
使用Everything查找Microsoft.WebApplication.targets,发现在VS2022安装目录下有该文件,猜测问题可能是
- 因为我的vs2022不是安装在默认目录,而是安装在D盘D:\VS2022
- vs自己的MSBuild只会在自己的安装路径下,安装.net的SDK并不会带有MSBuild对应文件
解决办法
目前我能想到的有2种解决办法
- 将vs2022安装路径下的
MSBuild\Microsoft
文件夹,整个Microsoft
文件夹复制到对应的C:\Program Files\dotnet\sdk\x.x.xxx
文件夹中,不过当.net更新之后,需要再把该文件夹复制一遍,该做法需要一直重复操作,挺麻烦的… - 在windows 环境变量-系统变量中添加变量
MSBuildExtensionsPath32
路径为{vs2022安装路径}\MSBuild
这样也可以解决该问题
期待大佬给出更完善的的解决办法,感谢。